【发布时间】:2016-03-30 06:25:13
【问题描述】:
我正在尝试创建一个 1 列的表,每行是 2 个单独日期之间的新日期。查询工作正常,直到我添加一个包含子查询的 where 子句,即。不在(选择 ....)。如果我执行 NOT IN (TIMESTAMP('xyz')) 之类的操作,它会正常工作。
我不断收到一条错误消息,提示“无法加入重复字段 t2.f0__group.SomeDate”
我不知道为什么会这样。我对 BQ 也很陌生,所以如果有更简单的方法,请告诉我。谢谢
SELECT SomeDate FROM
(
SELECT DATE_ADD(Day, i, "DAY") SomeDate
FROM
(
SELECT '2020-01-03' Day
) T1
CROSS JOIN
(
SELECT
POSITION(
SPLIT(
RPAD('', DATEDIFF('2020-01-30','2020-01-03') * 2, 'a,'))) i
FROM
(
SELECT NULL
)
) T2
)
WHERE SomeDate NOT IN (SELECT OtherDate FROM
(
SELECT TIMESTAMP('2020-01-04 00:00:00 UTC') AS OtherDate
),
(
SELECT TIMESTAMP('2020-01-06 00:00:00 UTC') AS OtherDate
),
(
SELECT TIMESTAMP('2020-01-08 00:00:00 UTC') AS OtherDate
)
)
【问题讨论】:
标签: google-bigquery