|
|
|
Такой запрос
|
|||
|---|---|---|---|
|
#18+
Есть три таблицы. Таблица клиентов, интернет услуг и дополнительных услуг. Таблицы интернет услуг и дополнительных услуг имеют внешние ключи на таблицу клиентов (InternetService.clientId и AdditionalServices.clientId). Необходимо одним запросом выбрать некоторую инфу по клиенту, интеренет тариф из таблицы InternetService и узнать потребляет ли он какой нибудь дополнительный сервис. Набрасал такой запрос: SELECT distinct(Clients.id), Clients.name, Clients.phone, InternetService.tariff, AdditionalService.id FROM Clients LEFT JOIN InternetService ON Clients.id = InternetService.clientId LEFT JOIN AdditionalServices ON Clients.id = AdditionalServices.clientId проблема в том что если клиент потребляет несколько доп. сервисов, то по этому клиенту будем иметь несколько записей. Нужно ограничить только одной, т.е. если клиент потребляет более одного доп. сервиса остальные просто отбрасывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2004, 13:42 |
|
||
|
Такой запрос
|
|||
|---|---|---|---|
|
#18+
SELECT Clients.id, Clients.name, InternetService.tariff, count( AdditionalServices.id ) FROM Clients, InternetService, AdditionalServices WHERE Clients.id = InternetService.clientId AND Clients.id = AdditionalServices.clientId GROUP BY Clients.id, Clients.name, InternetService.tariff ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:53 |
|
||
|
Такой запрос
|
|||
|---|---|---|---|
|
#18+
Теперь если в таблице AdditionalServices запись по клиенту не представлена то мы его вообще не увидим. А нужно видеть ноль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:58 |
|
||
|
Такой запрос
|
|||
|---|---|---|---|
|
#18+
вот так работает SELECT DISTINCT Clients.name, Clients.phone, InternetService.tariff, count( AdditionalServices.id ) FROM Clients LEFT JOIN InternetService ON Clients.id = InternetService.clientId LEFT JOIN AdditionalServices ON Clients.id = AdditionalServices.clientId GROUP BY Clients.name, Clients.phone, InternetService.tariff неплохой монолог получился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2004, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32752739&tid=1854682]: |
0ms |
get settings: |
8ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 470ms |

| 0 / 0 |
