Группировка по дате с использованием функции левого соединения показывает дублирующиеся даты в результате - PullRequest
0 голосов
/ 28 марта 2019

Попытка получить 3 поля, сгруппированные по дате, используя левое соединение.Группа по дате показывает повторяющиеся даты.

Пробовал в MySQL и работает нормально, но не работает в BigQuery.

SELECT DATE(a.transactionDate) as date, 
CASE WHEN b.memberProfileNumber LIKE 'M0%' THEN SUM(a.fromAmount) END AS 
col1,
CASE WHEN b.memberProfileNumber NOT LIKE 'M0%' THEN SUM(a.fromAmount) END 
AS col2
FROM `fashionpoints*` as a
LEFT JOIN `fashionprofile*` as b
ON a.toAccountId = b.id 
WHERE a.fromATC = 'usd' AND
a.type = 'awarding' AND
a.status = 'active'
GROUP BY date

Ожидаемый результат - DISTINCT Date, а фактические результаты дублируютсядата.

Ожидаемый результат:

enter image description here

Фактический результат: Фактический результат

1 Ответ

0 голосов
/ 29 марта 2019

У вас неправильная агрегация.Попробуйте заменить на SUM(CASE WHEN... THEN...ELSE 0 END) as col1/2

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