【发布时间】:2021-02-14 14:43:21
【问题描述】:
我有两个具有完全相同架构的表,其中一个字段是记录,我尝试在两个表之间比较该字段。
例如:
表 A:
{ Name: 'Mary',
DOB: '06.06.1970',
Children:[
{ Name: John, Age: 6 },
{ Name: Agatha, Age: 10}
]
},
{ Name: 'Bob',
DOB: '30.03.1982',
Children:[
{ Name: Anthony, Age: 9 },
{ Name: William, Age: 4 },
{ Name: Rose, Age: 2 }
]
},
{ Name: 'Adam',
DOB: '312.10.1980',
Children:[
{ Name: Andrew, Age: 9 },
{ Name: Kate, Age: 4 }
]
}
表 B:
{ Name: 'Mary',
DOB: '06.06.1970',
Children:[
{ Name: John, Age: 6 },
{ Name: Agatha, Age: 10}
]
},
{ Name: 'Bob',
DOB: '30.03.1982',
Children:[
{ Name: Anthony, Age: 9 },
{ Name: George, Age: 4 },
{ Name: Frank, Age: 2 }
]
},
{ Name: 'Adam',
DOB: '312.10.1980',
Children:[
{ Name: Andrew, Age: 9 },
{ Name: Kate, Age: 4 },
{ Name: Jonathan, Age: 2 }
]
}
我想得到的输出是:
Name
----------
Bob
Adam
由于表 A 和表 B 中 Bob 或 Adam 的子项详细信息不同(无论是记录的大小(子项数量)或详细信息(子项名称等...))
我尝试使用SELECT UNION DISTINCT,但它不适用于数组,我也尝试过!= 和<>,但它不适用于数组...
比较两个数组是比较理想的,就像在 Python 中比较两个列表一样(比较结构和内容)。
有没有办法实现类似的东西?
谢谢
【问题讨论】:
标签: sql arrays google-bigquery nested