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

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

 
magician   (2005-04-30 07:31) [0]

Есть таблица связей содержащая два поля NN1 и NN2.
Например:
NN1 NN2
1 0
1 1
1 5
1 8
2 2
2 4
2 3
2 1
3 0
3 5
и т.д.
Мне необходимо получить номера NN1 в которых NN2 содержит все элементы множества A.
Например A={0,1}. Результат 0, 1.
Помогите пожайлуста. Хочется сделать поуму. Есть конечно вариант Select N1... where (n2) in {...}, а потом уже ручками проверить наличие всех нужных элементов, но этот способ какой - то кривой и по-мойму есть более элегантное решение данной проблемы.


 
Rule ©   (2005-04-30 11:29) [1]

судя по сформулированной задаче, это и есть решение, которое ты предложил ...


 
Johnmen ©   (2005-05-03 09:16) [2]

>Мне необходимо получить номера NN1 в которых NN2 содержит все
>элементы множества A.
>Например A={0,1}. Результат 0, 1.

Результат неверен. Должен быть 1, 2, 3.
И даже это неверно, т.к. "NN2 содержит все элементы" есть явный абсурд...


 
ЮЮ ©   (2005-05-04 03:14) [3]

SELECT DISTINCT m0.nn1
FROM
 Table m0
 JOIN Table m1 ON (m0.nn1 = m1.nn1) AND (m1.nn2 = 1)
WHERE
 (m0.nn2 = 0)

При увеличени мощности множества добавить необходимое кол-во
 JOIN Table mX ON (m0.nn1 = mX.nn1) AND (m1.nn2 = X)
В WHERE - условие по первому элементу множества



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

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



Память: 0.45 MB
Время: 0.023 c
11-1096533981
Solik
2004-09-30 12:46
2005.06.14
exe


14-1116827183
Kerk
2005-05-23 09:46
2005.06.14
С днем рожденья! 23 мая


4-1114230724
Andrewk88
2005-04-23 08:32
2005.06.14
System directory


4-1114517267
zero-g
2005-04-26 16:07
2005.06.14
Глобальный перехват нажатия комбинации клавиш


4-1114198142
oleg_SYS
2005-04-22 23:29
2005.06.14
Инфа по DeviceIOControl




   Наверх