Доступ к присоединению к запросу TRANSFORM / PIVOT - PullRequest
0 голосов
/ 07 июня 2018

Прежде всего, спасибо всем, кто может помочь.Я сделал много запросов на присоединение за эти годы, но некоторые не могут заставить этот работать.Впервые я использовал команды Transform / Pivot одновременно.

Запрос 1:

TRANSFORM Max(price_btc)
SELECT year1, month1, day1, hour1, minute1
FROM HISTORY
WHERE [SYMBOL] = "XRP" OR [SYMBOL] = "EOS" OR [SYMBOL] = "NEO"
GROUP BY year1, month1, day1, hour1, minute1
PIVOT symbol;

Запрос 2:

SELECT year1, month1, day1, hour1, minute1, price_usd
FROM HISTORY
WHERE [symbol] = "BTC"
ORDER BY year1, month1, day1, hour1, minute1;

Оба запроса1и Query работают без проблем.Я бы предположил, что можно было бы объединить эти два запроса слева в год1, месяц1, день1, час1, минуту1. Поэтому я создал третий запрос:

Запрос 3:

SELECT *
FROM
(
SELECT year1, month1, day1, hour1, minute1, price_usd
FROM HISTORY
WHERE [symbol] = "BTC"
ORDER BY year1, month1, day1, hour1, minute1
) AS A
LEFT JOIN
(
TRANSFORM MAX(price_btc)
SELECT year1, month1, day1, hour1, minute1
FROM HISTORY
WHERE [SYMBOL] = "XRP" OR [SYMBOL] = "EOS" OR [SYMBOL] = "NEO"
GROUP BY year1, month1, day1, hour1, minute1
PIVOT symbol
) AS B
ON A.year1 = B.year1 AND A.month1 = B.month1 AND A.day1 = B.day1 AND A.hour1 = B.hour1 AND A.minute1 = B.minute1;

Однако это приводит к ошибке «Синтаксическая ошибка в предложении FROM»

Я хотел бы загрузить файл Excel с результатами отдельных запросов, но не могу этого сделать.

Может кто-нибудь помочь?Ваша помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Как всегда, у меня появилась идея сразу после публикации вопроса!Действие Transform / Pivot должно происходить вне объединения.Этот фрагмент кода теперь работает:

TRANSFORM First(price_btc)
SELECT A.year1, A.month1, A.day1, A.hour1, A.minute1, A.price_usd
FROM 
(
SELECT year1, month1, day1, hour1, minute1, symbol, price_btc
FROM HISTORY
WHERE [SYMBOL] = "XRP" OR [SYMBOL] = "EOS" OR [SYMBOL] = "NEO"
)  
AS B LEFT JOIN 
(
SELECT year1, month1, day1, hour1, minute1, price_usd
FROM HISTORY
WHERE [symbol] = "BTC"
ORDER BY year1, month1, day1, hour1, minute1
)  AS A 
ON (A.minute1 = B.minute1) AND (A.hour1 = B.hour1) AND (A.day1 = B.day1) AND 
(A.month1 = B.month1) AND (A.year1 = B.year1)
GROUP BY A.year1, A.month1, A.day1, A.hour1, A.minute1, A.price_usd
PIVOT [SYMBOL];
0 голосов
/ 07 июня 2018

Доступ не позволяет Transform + Pivot в подзапросах.Чтобы обойти это ограничение, необходимо сохранить запрос кросс-таблицы в отдельном запросе, например:

Query3:

TRANSFORM MAX(price_btc)
SELECT year1, month1, day1, hour1, minute1
FROM HISTORY
WHERE [SYMBOL] = "XRP" OR [SYMBOL] = "EOS" OR [SYMBOL] = "NEO"
GROUP BY year1, month1, day1, hour1, minute1
PIVOT symbol

Query4:

SELECT *
FROM
(
SELECT year1, month1, day1, hour1, minute1, price_usd
FROM HISTORY
WHERE [symbol] = "BTC"
ORDER BY year1, month1, day1, hour1, minute1
) AS A
LEFT JOIN
Query3 AS B
ON A.year1 = B.year1 AND A.month1 = B.month1 AND A.day1 = B.day1 AND A.hour1 = B.hour1 AND A.minute1 = B.minute1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...