Wie vergleiche ich Spalten mit Arrays in BigQuery?

Timogavk:

Ich habe zwei Tabellen in BigQuery.

Die Tabelle enthält aWerte in Arrays. Tabelle bhat Zeile für jeden Wert Ich möchte alle Werte von Tabelle bnach ID haben, wenn mindestens ein Wert nicht im Array von Tabelle amit derselben ID enthalten ist

WITH a as (SELECT 1 as id, ['123', 'abc', '456', 'qaz', 'uqw'] as value
UNION ALL SELECT 2, ['123', 'wer', 'thg', '10', '200']
UNION ALL SELECT 3, null),
b as (SELECT 1 as id, '123' as value
UNION ALL SELECT 1, 'abc'
UNION ALL SELECT 1, '456'
UNION ALL SELECT 1, 'qaz'
UNION ALL SELECT 1, 'uqw'
UNION ALL SELECT 2, '123'
UNION ALL SELECT 2, 'wer'
UNION ALL SELECT 2, '10'
UNION ALL SELECT 3, '200'
UNION ALL SELECT 3, 'thg'
)

Was ist der beste Weg, um es zu machen?

Mikhail Berlyant:

Unten finden Sie Informationen zu BigQuery Standard SQL

#standardSQL
SELECT * EXCEPT(flag)
FROM (
  SELECT b.*, COUNTIF(b.value IS NULL) OVER(PARTITION BY id) flag
  FROM `project.dataset.table_a` a, a.value 
  LEFT JOIN `project.dataset.table_b` b
  USING(id, value)
)
WHERE flag > 0
AND NOT value IS NULL    

Wenn auf Beispieldaten aus Ihrer Frage angewendet werden soll - Ausgabe ist

Row id  value    
1   2   123  
2   2   wer  
3   2   10     

Falls nach Ihrer Logik auch id = 3 ausgegeben werden soll, verwenden Sie unten

#standardSQL
SELECT * EXCEPT(flag)
FROM (
  SELECT b.*, COUNTIF(b.value IS NULL) OVER(PARTITION BY id) flag
  FROM `project.dataset.table_a` a LEFT JOIN a.value 
  FULL OUTER JOIN `project.dataset.table_b` b
  USING(id, value)
)
WHERE flag > 0
AND NOT value IS NULL   

in diesem Fall ist die Ausgabe

Row id  value    
1   2   123  
2   2   wer  
3   2   10   
4   3   200  
5   3   thg  

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie vergleiche ich zwei Arrays mit Tensorflow?

Wie vergleiche ich zwei Arrays in Standard SQL (BigQuery)?

Wie vergleiche ich mehrere Spalten mit mehreren Feldarrays in Select query?

Wie vergleiche ich alle Spalten mit einer Spalte in Pandas?

Wie vergleiche ich Dateien mit verschiedenen Spalten in Unix?

Wie vergleiche ich Spalten mit Zeichenfolgen und Ganzzahlen? Python Pandas

Wie vergleiche ich zwei Spalten mit Groß-/Kleinschreibung in Excel?

Datenrahmen: Wie vergleiche ich zwei Spalten mit Zeichenfolgenwerten?

Wie vergleiche ich ein Array mit einem Array von Arrays?

Wie vergleiche ich jedes Element des Arrays mit anderen Elementen?

Wie vergleiche ich, dass zwei Arrays mit Javascript gleich sind?

Wie vergleiche ich zwei Arrays mit $ elemmatch in mongodb?

Wie vergleiche und lehne ich Arrays mit unterschiedlichen Dimensionen ab?

Wie vergleiche ich Werte mit anderen Objekten in verschachtelten Arrays?

Wie vergleiche ich Nicht-Array-Felder mit Arrays in Mongodb?

Wie vergleiche ich ein Array mit einer Liste von Arrays?

Wie vergleiche ich Arrays mit unterschiedlicher Länge?

Wie vergleiche ich Arrays mit Funktionen höherer Ordnung? JavaScript

Wie vergleiche ich zwei Arrays mit einer for-Schleife?

Wie vergleiche ich Arrays in Dart?

Wie vergleiche ich Arrays in JavaScript?

Wie vergleiche ich Daten in verschiedenen Spalten in R?

Wie vergleiche ich zwei Spalten in Excel?

Wie vergleiche ich zwei Spalten desselben Datenrahmens?

Wie vergleiche ich Spalten aus zwei Tabellen?

Wie vergleiche ich dieselben Spalten in verschiedenen Zeilen?

Wie vergleiche ich zwei Spalten in MS Excel?

Wie vergleiche ich zwei verschiedene Arrays mit unterschiedlichen Eigenschaftsnamen und entferne nicht übereinstimmende Arrays in Javascript?

Wie vergleiche ich die Elemente eines Arrays mit dem Index eines anderen Arrays in Javascript?

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv