Я запускаю запрос и получаю вывод в ответном номере.Если я выполню запрос по частям, он вернет 3 строки, что правильно
WITH query AS
(
SELECT
opt.answerNo AS ans,
task.taskRaised.raisedAt.milliSeconds AS time
FROM
Test_2019_02_07
CROSS JOIN
UNNEST(task.workflowInfo.answers) AS answer
CROSS JOIN
UNNEST(answer.options) AS opt
),
raw AS
(
SELECT
COUNTIF(query.ans = 1 AND query.time BETWEEN 1550341800000 AND 1550341899999) AS ans1
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 2 AND query.time BETWEEN 1550341800000 AND 1550341899999) AS ans1
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 3 AND query.time BETWEEN 1550341800000 AND 1550341899999) AS ans1
FROM
query
),
raw1 AS
(
SELECT
COUNTIF(query.ans = 1 AND query.time BETWEEN 1548959400000 AND 1550341899999) AS ans2
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 2 AND query.time BETWEEN 1548959400000 AND 1550341899999) AS ans2
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 3 AND query.time BETWEEN 1548959400000 AND 1550341899999) AS ans2
FROM
query
),
raw3 AS
(
SELECT
COUNTIF(query.ans = 1 AND query.time BETWEEN 1548959400000 AND 1550514699999) AS ans3
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 2 AND query.time BETWEEN 1548959400000 AND 1550514699999) AS ans3
FROM
query
UNION ALL
SELECT
COUNTIF(query.ans = 3 AND query.time BETWEEN 1548959400000 AND 1550514699999) AS ans3
FROM
query
)
SELECT *
FROM raw, raw1, raw3
Когда я запусту
SELECT * FROM raw
, он вернет
0
0
0
Во время работы
SELECT * FROM raw1
возвращает
1
1
3
и работает
SELECT * FROM raw3
возвращает
3
1
1
Но когда я запускаю
SELECT *
FROM raw, raw1, raw3
он вернет 27 строк с повторяющимися числами
Я ожидаю
ans1 ans2 ans3
-------------------
0 1 3
0 1 1
0 3 1
Таким образом, я не понял, почему он возвращает мне 27 строк.
Когда язапустите этот
SELECT *
FROM raw, raw1, raw3
мой вывод