我在BigQuery中有下面的表格
源表:
Col1,Col2
1,'S1'
1,'S2'
2,'S3'
查询表:
Col1,Col2
1,'L1'
1,'L1'
2,'L2'
如果与col1匹配,我需要从查找表中为源的每个传入行获取任何行
预期结果:
Col1, Col2
1,L1
1,L1
2,L2
尝试以下查询:
SELECT T.Col1, T.Col2 FROM ((select PM_ALookup_1.Col1, PM_ALookup_1.Col2,ROW_NUMBER() OVER (PARTITION BY PM_ALookup_1.Col1 ORDER BY PM_ALookup_1.Col1) as rownum FROM TEST.SOURCE LEFT OUTER JOIN TEST.LOOKUP PM_ALookup_1 ON (PM_ALookup_1.Col1 = SOURCE.Col1 AND PM_ALookup_1.Col1 = SOURCE.Col1))) as T where T.rownum=1
但是它返回以下结果:Col1,Col21,L12,L2
SELECT *
FROM TEST.LOOKUP
WHERE Col1 IN (
SELECT DISTINCT Col1 FROM TEST.SOURCE
)