Автор Тема: Знатокам SQL  (Прочитано 2449 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Знатокам SQL
« : 12 Ноября 2002, 16:58:15 »
Привет всем!
Простите за глупый вопрос.
Задачка вроде простая, но бьюсь уже долго, никак не пойму.
Есть две таблицы:

Table1:
Name1
Key1 (ключевое поле)

Table2:
Name2
Key2 (ключевое поле)

Логически связаны таблицы по полям Key1 - Key2.

Как построить запрос, выдающий все записи таблицы Table1, у которых значения поля Key1 не встречаются в поле Table2.Key2 ?
(т.е. если можно так выразиться разность Table1 - Table2).
Большое спасибо.
« Последнее редактирование: 12 Ноября 2002, 17:44:58 от Evgeny »

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Знатокам SQL
« Ответ #1 : 12 Ноября 2002, 18:08:13 »
Сорри, сам уже нашёл:

SELECT *
FROM Tabelle1
where (Key1 not in (SELECT Key2
FROM Tabelle2))
;
« Последнее редактирование: 12 Ноября 2002, 18:16:30 от Evgeny »

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Знатокам SQL
« Ответ #2 : 12 Ноября 2002, 19:22:56 »
Кстати, MySQL вложенные запросы не поддерживает
TANSTAAFL

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Знатокам SQL
« Ответ #3 : 12 Ноября 2002, 19:43:07 »
Вроде все просто:
select table1.*,table2.* from table1 left join table2 on table1.key=table2.key where table2.key is null
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28