Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > неповторяющие значения


Автор: Zorak 18.5.2013, 10:35
Доброго времени суток. Проблема вот какая:
Есть 2 таблицы:
1. table1
id
__
1
2
3
4
5

2. table2
id
__
1
2
3
4
5
6

Надо сделать запрос, который выберет из таблицы 2 то, чего нету в таблице 1. В данном случае ето 6. Проболвал JOIN (вариации) -ничего не получилось(.. В какую сторону хоть смотреть ? Спасибо!

Автор: boevik 18.5.2013, 10:57
Два варианта:
Код

select id from t2 where id not in (select id from t1)

Код

select t2.id from t2 left join t1 on t2.id = t1.id where t1.id is null

Автор: Zorak 18.5.2013, 11:16
Цитата(boevik @ 18.5.2013,  10:57)
Два варианта:
Код

select id from t2 where id not in (select id from t1)

Код

select t2.id from t2 left join t1 on t2.id = t1.id where t1.id is null

насчет первого варианта не додумался, но правильно... а насчет правого что то подобное я делал, но у меня было RIGHT JOIN а там вариации t1.id = t2.id & t2.id = t1.id. В этом и ошибка...

оба варианта правильные.. спасибо огромное....

Автор: Zloxa 20.5.2013, 08:33
Цитата(boevik @  18.5.2013,  11:57 Найти цитируемый пост)
Два варианта:

еще есть вариант not exists

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)