Задавайте вопросы, мы ответим
Вы не зашли.
Нужно отобразить список клиентов и брендов в таком виде:
Клиент1
Клиент1 - Бренд 1
Клиент1 - Бренд 2
Клиент2
Клиент2 - Бренд 3
Клиент3
Клиент4
То есть те клиенты у кого брендов нет должны упоминаться один раз, клиенты у которых есть бренд должны выводиться несколькими видами - сначала просто строка клиента, а потом по одной строке на каждый бренд.
Пока что все что смог сделать:
SELECT c.id as cid, c.company_name, b.id as bid, b.name FROM client c LEFT JOIN brand b ON b.fk_client=c.id UNION SELECT cc.id as cid, cc.company_name, null as bid, null FROM client cc WHERE exists (select * from brand bb where bb.fk_client=cc.id) ORDER BY company_name, name
но не покидает чувство, что это можно сделать проще, а тут получается 3 подзапроса... Как то не сильно ли накладно?
Отредактированно Герман Клюшин (05.08.2010 17:03:57)
Неактивен
Ну если немного подправит' - то вот:
Отредактированно vaspet (05.08.2010 17:14:33)
Неактивен
Все гениальное просто!
Спасибо, как это я сам не догадался?
Неактивен