Проблемы с заменой OUTER JOIN в Access 2010.
|
|
Четверг, 04 Июня 2015 г. 16:18
+ в цитатник
Всем доброго времени суток. Работать с Аксесом и SQL я начал недавно и чую, что мне предстоит еще долгий путь познания и изучения тонкостей данной области.
Сейчас у меня возникла проблема со следующей задачей:
Дано: Значение некоторого показателя (Factor) в момент времени 1 (Таблица «tState1») и 2 (Таблица «tState2») для набора характеристик Sales Organization, Group, Sub Demand Area, Plant.
Задача: Создать запрос, который выводит значения Показателя в момент времени 1 и 2 и разницей этих значений.Сначала я попытался реализовать данный запрос через OUTER JOIN, но оказалось что а Аксесе он не работает. Тогда попытался его заменить через UNION LEFT и RIGHT JOIN-ов:
SELECT t0.*, tState2.Factor-tState1.Factor AS Diff
FROM (SELECT * FROM tState1 LEFT JOIN tState2
ON tState1.[Sales Organization] = tState2.[Sales Organization] and tState1.Group = tState2.Group and tState1.[Sub Demand Area] = tState2.[Sub Demand Area] and tState1.Plant = tState2.Plant
UNION
SELECT * FROM tState1 RIGHT JOIN tState2
ON tState1.[Sales Organization] = tState2.[Sales Organization] and tState1.Group = tState2.Group and tState1.[Sub Demand Area] = tState2.[Sub Demand Area] and tState1.Plant = tState2.Plant) AS t0;
В результате выполнения данного запроса получил задвоение полей Group, Plant, etc. Т.е. в итоге выполения запроса мне выводятся колонки tState1.Goup, tState1.Plant, ... tState2.Goup, tState2.Plant ...
Подскажите, как сделать так, чтобы они схлопнулись, т.е. просто выводились поля Sales Organization, Group, Sub Demand Area, Plant, Factor1, Factor2, Diff?
Заранее спасибо.
http://www.sql.ru/forum/1160015/problemy-s-zamenoy-outer-join-v-access-2010
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-