У меня относительно простой запрос сводки / преобразования, который выглядит следующим образом:
TRANSFORM Sum(T1.VALUE) As SumOfVal
SELECT T1.DATE, T1.HOUR
FROM T1
WHERE (T1.DATE = #1/1/2010#) AND
(T1.NAME IN ("name1", "name2")) AND
(T1.TYPE IN ("type1", "type2"))
GROUP BY T1.DATE, T1.HOUR
PIVOT T1.NAME + " " + T1.TYPE
Что возвращает мне что-то вроде этого:
DATE | HOUR | name1 type1 | name1 type2 | name2 type1 | name2 type2
------------------------------------------------------------------------
1/1/2010 | 1 | 222.22 | 123.11 | 1241.23 | 133124
1/1/2010 | 2 | 252.22 | 121.11 | 121.23 | 122150
И так далее. Теперь в другой таблице (с аналогичной разметкой) у меня есть больше чтений, которые я хочу присоединить к концу запроса в качестве другого столбца. DATE
и HOUR
точно совпадут, и я могу вручную указать , какое имя / тип использовать из таблицы.
Где я застрял, как бы я добавил это в запрос? Я попытался INNER JOIN
две таблицы в предложении FROM
, а затем добавил имя столбца в предложение SELECT
, но пожаловался, что имя поля не является частью агрегатной функции. Я также попытался добавить его в предложение TRANSFORM
(и предложение PIVOT
), но я не думаю, что вы можете указать для них несколько полей.
Возможно ли это сделать в одном запросе с использованием SQL или мне нужно выполнять оба запроса отдельно?
Последнее замечание - запрос по-прежнему работает после I INNER JOIN
таблицы T1
с T2
для значений даты / часа (как и должно быть). Я просто не знаю, как включить фактическое чтение / значение, чтобы оно отображалось в результате ...