Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 15, 2011 07:34:31

Gorazio
От:
Зарегистрирован: 2011-11-20
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Сравнение нескольких таблиц

Возможно мой вопрос больше относится к языку SQL нежели к Python, но все же хочу попытать счастья еще здесь ибо обессилен безрезультатными поисками.
Есть три таблицы в бд MS SQL 2005, заполняются они тремя отдельными предприятиями концерна и в идеале должны быть идентичными относительно двух полей (KMAT и LIM_N).
Мне нужно написать процедурку которая сравнивала бы три этих таблицы по вышеуказаным полям. В результате нужно получить табличку из записей которые не удовлетворяют условия присутствия во всех трех таблицах.
Не прошу написать мне готовый код :-), прошу указать хотя бы нужную сторону. Спасибо.



Офлайн

#2 Дек. 16, 2011 06:33:57

Gorazio
От:
Зарегистрирован: 2011-11-20
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Сравнение нескольких таблиц

Ну не верю что ни у кого нет никаких идей…. Хелп!



Офлайн

#3 Дек. 16, 2011 11:23:30

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Сравнение нескольких таблиц

можно заджойнить все 3 таблицы по ключевым полям и выдать все расхождения (where (a1 != a2) or (a2 != a3) or (b1 != b2) ….)

Офлайн

#4 Дек. 16, 2011 14:09:23

Gorazio
От:
Зарегистрирован: 2011-11-20
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Сравнение нескольких таблиц

Спасибо большое, почему я сам не додумался?:D
Решил все так(вдруг кому интерестно):
- при момощи FULL JOIN (+ SORT BY) получил таблицу состоящую из трех ключевых столбцов;
- сканировал строки на предмет пустоты одного из полей и если одно из них пусто выбирал первое попавшееся (не пустое) из этой строки.
В результате получил то, что хотел.
Еще раз спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version