Можно ли объединить запрос сводки / преобразования с другой таблицей (чтобы добавить дополнительный столбец данных)? - PullRequest
0 голосов
/ 16 августа 2011

У меня относительно простой запрос сводки / преобразования, который выглядит следующим образом:

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 для значений даты / часа (как и должно быть). Я просто не знаю, как включить фактическое чтение / значение, чтобы оно отображалось в результате ...

1 Ответ

1 голос
/ 16 августа 2011

Почему бы просто не сделать этот подзапрос и присоединиться к соответствующему идентификатору?

например,

select a.*, b.extracolumn
from othertable b
join ( ... ) a
on a.ID = b.ID

Вы получаете ошибки из-за group by в вашем запросе выше. У вас не должно быть таких же проблем, если вы присоединяетесь к нему полностью как подзапрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...