2017-12-03 2 views
2

Ich brauche Hilfe beim Schreiben von SQL-Code und alle Antworten, die ich finde, scheinen statische Daten anzunehmen und Start- und Enddaten zu setzen, die Links Joins benötigen. Das ist anders.SQL-Schleife zum Generieren vieler Zeilen aus verschiedenen Start- und Endterminen

Einrichtung

I eine Tabelle in Google Blätter haben, die mit 1, im wesentlichen

Kunde, Kampagne, start_date, end_date, DAILY_BUDGET

Client 1, Kampagne 2017.01.02 ist, 2017.01.12, 10.00

Client 2, Kampagne 1, 2017.01.03, 2017.02.15, 34.09

Diese Liste wird mit neuen Kunden, neuen Kampagnen immer wächst, usw.

Was ich

Ich möchte nehmen diese und die Ausgabe an BigQuery mit SQL (ich habe das Verbinden und Übertragen von Teilen tun müssen, nach unten), so dass das Endergebnis ist

Client 1, Kampagne 1, 2017.01.02, 10.00

Client 1, Kampagne 1, 2017.01.03, 10.00

Client 1, Kampagne 1 , 2017-0 04.01, 10.00

Client 1, Kampagne 1, 2017.01.05, 10.00

USW.

Client 2, Kampagne 1, 2017.01.03, 34.09

Client 2, Kampagne 1, 2017.01.04, 34.09

Client 2, Kampagne 1, 2017.01.05, 34.09

Client 2, Kampagne 1, 2017.01.06, 34.09

USW.

Im Grunde ist es Schleifen für jede neue Linie durch, erstellt alle notwendigen neuen Zeilen für jedes Datum (Das ist, was mit Ich brauche Hilfe, wie Zeilen aus den Daten erzeugen)

Irgendwelche Hilfe würde sehr geschätzt werden!

Antwort

2

ist unten für BigQuery Standard-SQL

#standardSQL 
SELECT Client, Campaign, Day, Daily_Budget 
FROM `project.dataset.table`, 
UNNEST(GENERATE_DATE_ARRAY(Start_Date, End_Date)) Day 

Sie können oben mit Dummy-Daten aus Ihrer Frage

#standardSQL 
WITH `project.dataset.table` AS (
    SELECT 'Client 1' Client, 'Campaign 1' Campaign, DATE '2017-01-02' Start_Date, DATE '2017-01-12' End_Date, 10.00 Daily_Budget UNION ALL 
    SELECT 'Client 2', 'Campaign 1', DATE '2017-01-03', DATE '2017-02-15', 34.09 
) 
SELECT Client, Campaign, Day, Daily_Budget 
FROM `project.dataset.table`, 
UNNEST(GENERATE_DATE_ARRAY(Start_Date, End_Date)) Day 
+0

Vielen Dank, genau prüfen/spielen, was ich gesucht habe! – Jeff

Verwandte Themen