[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка уникальных значений в базе данных
Strannik
Добрый день.

Первоначальный запрос:

SELECT * FROM `table` WHERE `client` IN('0','1','2','3','4') ORDER by name ASC


из таблицы бд мне нужно получить 2 значения: client и photo.

Как правильно написать?

P.S.: по - хорошему через distinct, но он работает если нужно выбрать только 1 поле, а мне нужно 2(но при этом чтобы значения поля client были уникальные).



Спустя 1 час, 11 минут, 59 секунд (27.07.2012 - 05:42) dadli написал(а):

для одинакових клиентов, фото всегдо одно и то же? или может разние? как вас в таблице?

Спустя 3 часа, 51 минута, 14 секунд (27.07.2012 - 09:33) Strannik написал(а):
структура
user photo


записи:
user1 photo1
user2 photo2
user3 photo3
user4 photo4
user4 photo5
user4 photo6


иными словами у 1-го юзера может быть несколько фото, все фотографии с разными именами.

нужно вывести так

while($i=mysql_fetch_assoc($result))
{
echo $i['user'].'&nbsp'.$i['photo'];
}

Как такое сделать?

Спустя 10 минут, 19 секунд (27.07.2012 - 09:44) Kuliev написал(а):
Strannik
У Вас должно быть как минимум две таблицы.
Одна с юзерами, другая с фотографиями юзеров и связь между ними один - к - многим (так как у одного юзера может быть много фотографий)

Тогда получается примерный запрос:

SELECT * FROM `user` AS `u`
LEFT JOIN `photo` AS `p` ON `u`.`id_user` = `p`.`id_user`
WHERE `u`.`id_user` = 1


Вывидет все фото этого юзера!

Спустя 6 дней, 15 часов, 1 минута, 59 секунд (4.08.2012 - 00:45) Strannik написал(а):
Kuliev
спасибо, так и сделал))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.