powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос сравнивающий две таблицы по двум столбцам
7 сообщений из 7, страница 1 из 1
Запрос сравнивающий две таблицы по двум столбцам
    #39870938
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Есть такой запрос:

Код: sql
1.
2.
3.
4.
5.
select ai.*, sai.*
from table1 ai
join table2 sai
on (ai.sid = sai.sid and ai.pkey = sai.pkey  and ai.node_id = sai.node_id  )
and (ai.ItemValue <> sai.value or ai.temComment <> sai.comment)



Если из него убрать последнюю строчку, то он возвращает 31 запись. Если оставить, то ничего, хотя 6 записей различаются по столбцам ItemValue /value и temComment /comment.

Подскажите пжлста, что я делаю не так? Мне нужно получить эти шесть записей, которые различаются по любому из этих столбцов.

Спасибо.
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870947
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_mЕсли оставить, то ничего, хотя 6 записей различаются по столбцам ItemValue /value и temComment /comment.Может, там NULL в значениях?
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870953
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgRoust_mЕсли оставить, то ничего, хотя 6 записей различаются по столбцам ItemValue /value и temComment /comment.Может, там NULL в значениях?

Да, там полно NULL. Те записи, которые отличаются, они в одной из таблиц не NULL
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870956
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_malexeyvgпропущено...
Может, там NULL в значениях?

Да, там полно NULL. Те записи, которые отличаются, они в одной из таблиц не NULLТогда нужно либо строить огромные конструкции с is null, либо переделать условие на:
Код: sql
1.
and (isnull(ai.ItemValue, 0) <> isnull(sai.value, 0) or isnull(ai.temComment, 0) <> isnull(sai.comment, 0))


Конечно, "0" нужно заменить на правильную константу
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870959
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_mДобрый день,

Есть такой запрос:

Код: sql
1.
2.
3.
4.
5.
select ai.*, sai.*
from table1 ai
join table2 sai
on (ai.sid = sai.sid and ai.pkey = sai.pkey  and ai.node_id = sai.node_id  )
and (ai.ItemValue <> sai.value or ai.temComment <> sai.comment)



Если из него убрать последнюю строчку, то он возвращает 31 запись. Если оставить, то ничего, хотя 6 записей различаются по столбцам ItemValue /value и temComment /comment.

Подскажите пжлста, что я делаю не так? Мне нужно получить эти шесть записей, которые различаются по любому из этих столбцов.

Спасибо.

Код: sql
1.
2.
3.
NOT EXISTS (SELECT ai.ItemValue INTERSECT SELECT sai.value)
AND
NOT EXISTS (SELECT ai.temComment INTERSECT SELECT sai.comment))
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870960
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
select ai.*, sai.*
from table1 ai
join table2 sai
on (ai.sid = sai.sid and ai.pkey = sai.pkey  and ai.node_id = sai.node_id  )
and not exists(select ai.ItemValue, ai.temComment intersect select sai.value, sai.comment)
...
Рейтинг: 0 / 0
Запрос сравнивающий две таблицы по двум столбцам
    #39870967
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос сравнивающий две таблицы по двум столбцам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]