Вниз
Скачать: 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.025 c
4-1117006096
msd
2005-05-25 11:28
2005.08.28
COM порт


5-1094451679
Victor
2004-09-06 10:21
2005.08.28
Гибкие линии


3-1121337516
Dysan
2005-07-14 14:38
2005.08.28
язык запросов к XML


4-1120431833
cranium
2005-07-04 03:03
2005.08.28
Как получить список физических дисков и их тип


14-1123151892
Andy BitOff
2005-08-04 14:38
2005.08.28
Погордимся за наших.




   Наверх