Ich habe ein seltsames Problem in Redshift mit einem Crossjoin. Ich erzeuge Tage und möchte sie mit einigen IDs verbinden. Die Beispielabfrage ist dies:Redshift: Cross-Join machen Daten verschwinden
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
Alles funktioniert so weit in Ordnung. Wenn ich aber bis dahin gruppiere habe ich keine Ergebnisse.
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
Wie ist das passiert? Ich habe noch nie etwas Ähnliches gesehen. Ich denke, es ist etwas mit dem Kreuz und der Gruppe, aber es scheint sehr seltsam. Irgendwelche Gedanken?
Es ist immer noch das gleiche, habe ich versucht: mit ids als ( Select-Nummer als ID von models.number_10000 Grenze 10 ), Tag als ( SELECT TO_CHAR (DATEADD (Tag, num.number, CAST (DATEADD (Tag, -463, GETDATE()) AS DATE)), 'YYYY-MM-DD') als DATE_STRING FROM (Select * from models.number_10000 Limit 463) als num ) SELECT verschiedene \t id, date_String von IDs CROSS JOIN Tag –