![]() |
|
Модераторы: LSD |
![]()
|
|
| Самозванка |
|
|||
![]() Девушка в стиле IT ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 484 Регистрация: 5.9.2006 Где: USA Репутация: нет Всего: 40 |
Есть 2 таблицы такого вида:
Таблица А Поля A1 A2 1 1 1 2 2 1 2 2 2 3 Таблица Б Поля Б1 Б2 1 1 1 2 1 3 2 1 2 2 2 3 Мне надо получить запись 1 3 То есть сравнить эти таблицы, и найти во второй записи которых нет в первой. Пробую делать цикл, но так не выходит. Подскажите какую нить мысль, плиз... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Самозванка |
|
|||
![]() Девушка в стиле IT ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 484 Регистрация: 5.9.2006 Где: USA Репутация: нет Всего: 40 |
Спасибо, буду лучше учить joinы
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
Akina, Ваш запрос не будет работать. Он ВСЕГДА будет возвращать пустой набор т.к. a.a1 никогда не будет is null потому как такие записи будут ограничены inner join.
Самозванка, в примере Akina пропущено ключевое слово left перед join. Условие and a.a2 is null - лишнее, если a.a1 первичный ключ или not null поле. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 11 Всего: 161 |
В свою очередь я ошибся с Невнимательно читал исходные данные ;) Вариант с Join, не применим, если нет ключа на пару b1,b2. Если нет ключа на a1, a2, но есть на b1, b2, следует использовать distinct в селект - лист, но это "лишняя" сортировка Еще два варианта реализации:
Все три варианта, с join, not in, not exists не применимы если хоть одно из полей может содержать Nulls Исключительно ораклиная фишка:
Операция эквивалента union или disticnt, в случае если множество b coдержит более одного вхождения комбинации (1,3), эта комбинация будет возвращена единожды Это сообщение отредактировал(а) Zloxa - 6.10.2008, 09:20 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |