2017-09-14 1 views
1

J'essaie d'exécuter une requête sur des tables contenant des enregistrements contenant un tableau imbriqué. Dans l'exemple ci-dessous, le tableau imbriqué est appelé "ages". Certains des enregistrements peuvent avoir un tableau vide.BigQuery Jointure "à gauche" SQL standard du tableau imbriqué

Comment puis-je exécuter une requête les exécute une « gauche » croix JOIN, de sorte que même un record qui n'a pas d'éléments dans les âges sera sortie (une ligne avec âges = null)/

WITH people AS (
select * from unnest(
[STRUCT("Tim" as name, [5] as ages), 
    STRUCT("Jane" as name, [] as ages)]) 
) 

select 
    name 
    from people, unnest(ages) as a 

Répondre

1
#standardSQL 
WITH people AS (
SELECT * FROM UNNEST(
[STRUCT("Tim" AS name, [5] AS ages), 
    STRUCT("Jane" AS name, [] AS ages)]) 
) 

SELECT 
    name 
FROM people 
LEFT JOIN UNNEST(ages) AS a