Gorazio
Дек. 15, 2011 07:34:31
Возможно мой вопрос больше относится к языку SQL нежели к Python, но все же хочу попытать счастья еще здесь ибо обессилен безрезультатными поисками.
Есть три таблицы в бд MS SQL 2005, заполняются они тремя отдельными предприятиями концерна и в идеале должны быть идентичными относительно двух полей (KMAT и LIM_N).
Мне нужно написать процедурку которая сравнивала бы три этих таблицы по вышеуказаным полям. В результате нужно получить табличку из записей которые не удовлетворяют условия присутствия во всех трех таблицах.
Не прошу написать мне готовый код :-), прошу указать хотя бы нужную сторону. Спасибо.
Gorazio
Дек. 16, 2011 06:33:57
Ну не верю что ни у кого нет никаких идей…. Хелп!
o7412369815963
Дек. 16, 2011 11:23:30
можно заджойнить все 3 таблицы по ключевым полям и выдать все расхождения (where (a1 != a2) or (a2 != a3) or (b1 != b2) ….)
Gorazio
Дек. 16, 2011 14:09:23
Спасибо большое, почему я сам не додумался?:D
Решил все так(вдруг кому интерестно):
- при момощи FULL JOIN (+ SORT BY) получил таблицу состоящую из трех ключевых столбцов;
- сканировал строки на предмет пустоты одного из полей и если одно из них пусто выбирал первое попавшееся (не пустое) из этой строки.
В результате получил то, что хотел.
Еще раз спасибо.