Abfragen mehrerer wiederholter Felder in BigQuery

8

Ich habe ein Schema, das mehrere wiederholte Felder enthält, die nicht verschachtelt sind.

Ich versuche, das Cross-Produkt abzufragen, aber ich bekomme einen Fehler: "Kann das Kreuzprodukt von wiederholten Feldern nicht abfragen ..."

Wenn ich nur zwei wiederholte Felder abfrage, kann ich eine davon abflachen. Dennoch bin ich daran interessiert, mehr als 2 wiederholte Felder abzufragen, und ich kann nicht verstehen, wie die FLATTEN-Syntax dies unterstützt.

Beispiel: Die Tabellenstruktur lautet: a1, record (wiederholt): a1.b1, Integer a2, record (wiederholt): a2.b1, Integer a3, record (wiederholt): a3.b1, Ganzzahl

Ich möchte abfragen: Wählen Sie (*) aus der Registerkarte

    
Lior 11.07.2013, 15:54
quelle

2 Antworten

13

Sie können einen verschachtelten Subselect in FLATTEN verwenden. Es erfordert einen zusätzlichen paren um die Select-Anweisung. (Die Syntax ist leider ziemlich hässlich). z.B.

%Vor%     
Jordan Tigani 11.07.2013, 18:29
quelle
7

Wenn Sie innerhalb der inneren Auswahl nichts Bestimmtes tun müssen, können Sie einfach

verwenden
  

(FLATTEN (FLATTEN (Tabelle, a1), a2))

    
AndyTheEntity 22.08.2013 12:17
quelle

Tags und Links