Вниз
Скачать: CL | DM;

формирование запроса IB   Найти похожие ветки 

← →
erika ©   (2005-07-15 16:49) [0]

Формирую запрос на вывод данных из таблиц слудующим образом

select dknom, dkp, name
from discont, sells
inner join klients on discont.ink=klients.ink
where (discont.idk  in ( select sells.idk  from sells  group by IDK having count (IDK)=1))

идея была такова: вывести всех клиентов (klients) по дисконтным книжкам (discont), с количеством покупок (sells) равным единице.

резельтата моего запроса: выводятся записи с одинаковым номером дисконтной книжки (discont  поле dknom) множество количество раз.

Вопрос: где ошибка в запросе


← →
Ольга   (2005-07-15 17:03) [1]

1. Таблицы sells и discont не связаны
2. Не понятно зачем group by, если нет агрегатных функций


← →
erika ©   (2005-07-15 17:07) [2]

т.е. мне необходимо добавить

...where (discont.idk  in ( select sells.idk  from sells

inner join discont on discont.idk = sells.idk

group by IDK having count (IDK)=1))


← →
Ольга   (2005-07-15 17:35) [3]

Разберите для начала внутренний запрос. Когда он будет выбирать то, что надо, тогда можно его встраивать во внешний. Может вы перемудрили, вот такой запрос не подходит? :

select sells.idk  from sells

inner join discont on discont.idk = sells.idk

where sells.<номер покупки>=1


← →
Reindeer Moss Eater ©   (2005-07-15 17:39) [4]

Внутренний запрос можно исправить.
Но тогда перестанет работать внешний, так как там IN.
А правильный внутренний запрос вернет как минимум два поля.


← →
Ольга   (2005-07-15 17:43) [5]

erika ©
Приведите структуры таблиц - дело пойдет быстрее. Что есть номер покупки, порядковый?, Тогда вообще не к чему огород городить, все просто.


← →
Reindeer Moss Eater ©   (2005-07-15 17:46) [6]

Достаточно прикрутить третью таблицу к этому
http://delphimaster.net/view/3-1121417544/


← →
DSKalugin ©   (2005-07-15 17:50) [7]

Не рекомендуется смешивать в запросе явное объединение таблиц
inner join и неявное from discont, sells where
Переведи все на join и самому станет понятен запрос



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
6-1116149538
Lex_!
2005-05-15 13:32
2005.08.28
Microsoft.XMLHTTP кто работал?


4-1120324212
Igivan
2005-07-02 21:10
2005.08.28
соединение с внешним устройством


14-1122927294
ronyn
2005-08-02 00:14
2005.08.28
Переустановка в Install Shield


1-1123175284
Андрей Молчанов
2005-08-04 21:08
2005.08.28
получить интерфейс IShellFolder


6-1116052678
Chaser
2005-05-14 10:37
2005.08.28
Защита от автоматической регистрации сайтов




   Наверх