Вниз
Скачать: 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.028 c
3-1115872215
Sergun
2005-05-12 08:30
2005.06.14
BLOB в DbGridEh


14-1116906917
Zer0
2005-05-24 07:55
2005.06.14
Generation G


1-1117392026
Dezmond
2005-05-29 22:40
2005.06.14
Высота Task Bar


14-1117009096
YurikGL
2005-05-25 12:18
2005.06.14
У Москвы проблемы с инетом?


1-1117432147
Inkotex
2005-05-30 09:49
2005.06.14
В чем разница?




   Наверх