| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Запрос не работает так как нужно |
| Автор: Yagmort 23.5.2010, 10:46 |
| Мне нужно найти количество клиентов у которых имеется на руках данная книга но причем klient.id_top не должен повторятся даже если у него на руках имеется книги с 2-х магазинов. (в данном случае клиент может иметь книги с двух магазинов, т.е. у него м.б. 2 записи и более о магазинах и несколько разных книг, книги идет как справочник) klient.id_top = magazin.id_top при том что у magazin.id_kniga=kniga.id_kniga SELECT COUNT (top) FROM klient k LEFT OUTER JOIN magazin m ON k.id_top=m.id_top RIGHT OUTER JOIN kniga kn ON kn.id_kniga=m.id_kniga WHERE kn.kniga IN ('PUHKIN','FEDOROV','FIGURNOV'); |
| Автор: pseud 24.5.2010, 17:43 |
| в корне неправильный подход к структуре таблиц. да и пояснений ты дал недостаточно. 1. magazin.id_kniga magazin - таблица сущностей МАГАЗИН. ты не имеешь права держать в этой таблице id_kniga. тебе необходима таблица связок magazin_kniga содержащая ссылки и на magazin и на kniga. 2. также тебе необходима таблица связок между klient и magazin и kniga. или между klient и magazin_kniga. 2. id_top - что это? 3. top - что это? |