Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Вниз

Помогите с SQL запросом   Найти похожие ветки 

 
SoundB   (2008-07-09 11:13) [0]

Пожалуйста, помогите, очень нужна помощь.

Не могу отобрать необходимые данные.

Для примера, есть 2 таблицы "Test1" и "Test2"

Test 1

id |  Name     | parID   |
-------------------------+
1  | Пирог     | 200     |
2  | Торт      | 200     |
3  | Печенье   | 200     |
4  | Другое    | 300     |

Test2

id |  Name     | parID   |
-------------------------+
1  | Пирог     | 200     |
2  | Торт      | 200     |

Мне нужен список товаров из таблицы 1 которых нет в таблице 2, связь по ID и ParID

В нашем примере это : Печенье

Попробовал написать самостоятельно, уже 2 часа угробил а написал какую то ерунду:

select t1.* from test1 t1, test2 t2 where (t1.Parid = 200 and t2.Parid = 200 and t1.id <> t2.id)

Помогите плиз, сам не справлюсь (((


 
Правильный^Вася   (2008-07-09 11:17) [1]

для Oracle - MINUS


 
Skyle ©   (2008-07-09 11:18) [2]

SELECT T.*
FROM Test1 T
WHERE NOT EXISTS(SELECT * FROM Test2 WHERE Id = T.PartId)


 
SoundB   (2008-07-09 11:18) [3]

БД: Oracle


> для Oracle - MINUS


А почему минус ?


 
SoundB   (2008-07-09 11:20) [4]


> Skyle ©   (09.07.08 11:18) [2]


Супер, то что надо. Спасибо ОГРОМНОЕ !!!!!


 
Правильный^Вася   (2008-07-09 11:36) [5]


> А почему минус ?

доку потому что
MINUS All distinct rows selected by the first query but not the second


 
clickmaker ©   (2008-07-09 12:34) [6]

select * from tab1
left join tab2 on tab1.id = tab2.id
where tab2.id is null


 
Petr V. Abramov ©   (2008-07-09 12:39) [7]


> Правильный^Вася   (09.07.08 11:17) [1]

для Oracle - [2]


 
Правильный^Вася   (2008-07-09 13:02) [8]


> Petr V. Abramov ©   (09.07.08 12:39) [7]

не вижу аргументов

> Skyle ©   (09.07.08 11:18) [2]

неверная связка таблиц, судя по начинке


 
Skyle ©   (2008-07-09 13:06) [9]


> Правильный^Вася   (09.07.08 13:02) [8]

Ну а в [6] вообще неизвестные таблицы связываются :)


 
Petr V. Abramov ©   (2008-07-09 13:09) [10]


> Правильный^Вася   (09.07.08 13:02) [8]

план посмотри.
для not exists у оракла отдельный очень быстрый алгоритм, "ani-join"


 
Petr V. Abramov ©   (2008-07-09 13:09) [11]

"ani-join" == "anti-join"


 
Правильный^Вася   (2008-07-09 13:10) [12]


> Petr V. Abramov ©   (09.07.08 13:09) [10]

в какой версии?
и зачем ему тогда минус?



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

Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
2-1216470804
R1ka
2008-07-19 16:33
2008.08.24
StrToDateTime vs Я


2-1216275812
Dymok
2008-07-17 10:23
2008.08.24
Редактирование файлов *.res с 32-битными изображениями


2-1216280848
programmer90
2008-07-17 11:47
2008.08.24
Командная строка &amp; Delphi


15-1215162423
DN
2008-07-04 13:07
2008.08.24
Что за кодировка?


2-1216223291
blazerad
2008-07-16 19:48
2008.08.24
можно ли сделать чтобы введенные данные не исчезали после пе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский