Форум: "Прочее";
Текущий архив: 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