Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.069 c
3-1115477565
mefisto
2005-05-07 18:52
2005.06.14
Нельзя редактировать Query BDE


3-1115289576
Борис72Ф
2005-05-05 14:39
2005.06.14
кирилица в IB


14-1116828369
vidiv
2005-05-23 10:06
2005.06.14
Перекомпилировать весь VCL


14-1116841043
Polevi
2005-05-23 13:37
2005.06.14
Нас облучают !


6-1111579314
Radgar
2005-03-23 15:01
2005.06.14
SendBuf