1
我在Redshift中出现了一个带有交叉连接的奇怪问题。 我正在生成日子,并希望通过一些ID加入他们。 示例查询是这样的:Redshift:交叉连接使数据消失
with ids as (
Select number as id
from models.number_10000
limit 10
),
day as (
SELECT
TO_CHAR(DATEADD(day,num.number,CAST(DATEADD(day,-463,GETDATE()) AS DATE)),'YYYY-MM-DD') as date_string
FROM
(Select * from models.number_10000 limit 463)
as num
)
SELECT
id,date_string
from ids,day
一切工作正常为止。 但是,如果我分组,那么我没有结果。
with ids as (
Select number as id
from models.number_10000
limit 10
),
day as (
SELECT
TO_CHAR(DATEADD(day,num.number,CAST(DATEADD(day,-463,GETDATE()) AS DATE)),'YYYY-MM-DD') as date_string
FROM
(Select * from models.number_10000 limit 463)
as num
)
SELECT
id,date_String
from ids,day
group by 1,2
这是怎么发生的?我从来没有面对类似的东西。我想这是交叉连接和组合的结果,但它看起来很奇怪。 有什么想法?
它仍然是一样的,我想:用ID作为( 选择数量从models.number_10000 限制10 ID ), 一天( 选择 TO_CHAR(DATEADD(日,num.number, CAST(DATEADD(日,-463,GETDATE())AS DATE)), 'YYYY-MM-DD')从models.number_10000上限463) 为num ) 选择 不同DATE_STRING FROM (SELECT * \t id,date_String from ids CROSS JOIN day –