Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите составить запрос  [new]
Владимир83
Member

Откуда:
Сообщений: 3
Есть две одинаковые по структуре таблицы (с именами table_one и table_two), содержащие идентификатор (поле id – первичный ключ) и имя сотрудника (поле fullname). Необходимо написать один SQL-запрос для поиска всех различающихся или отсутствующих в какой-либо из таблиц записей.

Заранее благодарен.
14 авг 13, 19:29    [14709734]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31949
Владимир83
Есть две одинаковые по структуре таблицы (с именами table_one и table_two), содержащие идентификатор (поле id – первичный ключ) и имя сотрудника (поле fullname). Необходимо написать один SQL-запрос для поиска всех различающихся или отсутствующих в какой-либо из таблиц записей.
FULL JOIN с условием равенства по id или fullname, и в кляузе WHERE - id is null для первой или второй таблице
14 авг 13, 19:38    [14709754]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Владимир83
Member

Откуда:
Сообщений: 3
Если не сложно напиши пож-та полностью. Буду очень благодарен.
14 авг 13, 19:45    [14709765]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Владимир83,

Вовка давай я тебе помогу!
14 авг 13, 19:50    [14709780]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
кириллk
Member

Откуда:
Сообщений: 1062
кириллk,

select * from t1

full join t2 on t2.id = t1.id
14 авг 13, 19:53    [14709786]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
кириллk, а где условие фильтрации?
14 авг 13, 20:20    [14709848]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Добрый Э - Эх
Guest
Владимир83,

на решение твоей задачи очень хорошо "натягиваются" SET-операторы.
В данном случае - суперпозиции двух EXCEPT-ов, объединенных UNION ALL-ом будет достаточно...
Ещё как вариант - NOT EXISTS + всё тот же UNION ALL
14 авг 13, 22:28    [14710145]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Владимир83,
чего то не понятно различаются - это одинаковый ид и разное имя или одинаковые имена, но разный ид? Одинаковые это по ид и имени или одинаковыми считаются записи с одинаковыми именами?
15 авг 13, 10:17    [14711462]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить