Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1117141769
Christy
2005-05-27 01:09
2005.06.14
Как скопировать музыкальный файл в дирикторию программы ?


3-1115113838
kyn66
2005-05-03 13:50
2005.06.14
Как закрыть базу Access (mdb) ?


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


14-1116755818
Igorek
2005-05-22 13:56
2005.06.14
Воскресный флэшовый квест :8-)


14-1116743587
vidiv
2005-05-22 10:33
2005.06.14
time.nist.gov





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский