请您帮我解答一下 Bigquery 的标准 SQL 语法问题,好吗?我试图理解为什么(以及如何解决它)这个标准 SQL 查询返回 2 行,而这个 legacysql 一个只返回 1 行(我希望只有一个)。
标准 SQL
SELECT
hits2.transaction.transactionId as transactionId
FROM `ga-export-TTTT.1234567890.ga_sessions_*`
,UNNEST (hits) as hits2
WHERE
hits2.transaction.transactionId = '03971163'
旧版 SQL
select
hits.transaction.transactionId
FROM
TABLE_DATE_RANGE([ga-export-TTTT:1234567890.ga_sessions_], TIMESTAMP('2016-09-01'), TIMESTAMP('2017-02-14'))
WHERE
hits.transaction.transactionId = '03971163'
阅读帮助后,我还尝试了这个StandardSQL之一,结果中的两行相同:
select
title
from
(
SELECT
ARRAY(SELECT transaction.transactionId FROM UNNEST(hits)
WHERE transaction.transactionId = '03971163') AS title
FROM `ga-export-TTTTT.1234567890.ga_sessions_*`
)
WHERE ARRAY_LENGTH(title) > 0;
将不胜感激任何帮助。