Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

Sql help   Найти похожие ветки 

 
Grom   (2003-03-04 12:33) [0]

Помогите разобраться с SQL запросом.

Есть две таблицы
Таблица A Таблица B
ID_KLNT ID_PRODUCT ID_PRODUCT ID_SKLAD
1 1 1 1
1 2 2 1
1 3 3 1
2 1 1 2
2 2 2 2
3 2
3 3

Нужно получить всех клиентов , которые получали все товары заявленные на складе, например первом (ID_SKLAD=1). В данном случае должено выдать только первого клиета. Для ID_SKLAD=2 должно вывести только второго клиента.
Я то сделал через временные таблицы. но возможно ведь сделать одним запросом, тока как. ниче не получаеться.
База под Paradox.


 
Johnmen ©   (2003-03-04 13:59) [1]

Сразу для всех складов :

SELECT A.ID_KLNT, B.ID_SKLAD, COUNT(A.ID_KLNT)
FROM A
JOIN B ON B.ID_PRODUCT=A.ID_PRODUCT
GROUP BY A.ID_KLNT, B.ID_SKLAD
HAVING COUNT(A.ID_KLNT)=
(SELECT COUNT(C.ID_SKLAD )
FROM B C
WHERE C.ID_SKLAD =B.ID_SKLAD )

Но ! Для Парадокса есть сомнения, т.к. есть вложенный запрос ... :)



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

Текущий архив: 2003.03.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.019 c
14-76592
mixvictor
2003-03-07 07:11
2003.03.24
Тест BIOS


3-76279
Grom
2003-03-04 12:33
2003.03.24
Sql help


3-76328
Ocean
2003-03-03 11:17
2003.03.24
AdoQuery1.ExecSQL вызывает ошибку kernel32 (WinME)


3-76347
Pat
2003-03-05 21:38
2003.03.24
Ссылочная целостность


1-76496
Строитель
2003-03-12 12:49
2003.03.24
Lock