Вниз
Скачать: 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.023 c
14-1123225248
Skywalker
2005-08-05 11:00
2005.08.28
Нету исходников (((((


1-1123585207
kyn66
2005-08-09 15:00
2005.08.28
Контроль видимости левого столбца Грида


4-1120906132
-=[ASH]=-
2005-07-09 14:48
2005.08.28
CD-Rom


1-1123239022
rolex
2005-08-05 14:50
2005.08.28
Как в ListView список прокрутить в самый конец?


1-1123516665
Zer0
2005-08-08 19:57
2005.08.28
запуск метода сразу после заверщения работы FormCreate




   Наверх