Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизСформировать запрос Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c