2016-06-16 41 views
0

我希望能夠在bigquery中加入多個表。加入兩個是非常微不足道的。在bigquery中加入多個表

SELECT 
t1.field1 AS field1, 
t2.field2 AS field2, 
t1.field3 AS field3 
FROM [datasetName.tableA] t1 
JOIN [datasetName.tableB] t2 
ON t1.somefield = t2.anotherfield 

但是如果我想加入三張或更多的桌子呢?我可以這樣做嗎?

SELECT 
t1.field1 AS field1, 
t2.field2 AS field2, 
t1.field3 AS field3, 
t3.field4 as field4 
FROM [datasetName.tableA] t1 
JOIN [datasetName.tableB] t2 
JOIN [datasetName.tableC] t3 
ON t1.somefield = t2.anotherfield AND t1.somefield=t3.yetanotherfield 

我試過了,它不起作用。我認爲我需要做類似

SELECT 
t12.field1 as field1, 
t12.field2 as field2, 
t3.field3 as field3, 
FROM 
(SELECT 
t1.field1 AS field1, 
t2.field2 AS field2, 
t1.field3 AS field3 
FROM [datasetName.tableA] t1 
JOIN [datasetName.tableB] t2 
ON t1.somefield = t2.anotherfield) t12 
JOIN 
[datasetName.tableC] t3 
ON t12.field1 = t3.field1 

但是有沒有更簡單的方法來實現這一點?

感謝, 布拉德

回答

2

我認爲你正在尋找的東西像下面

SELECT 
    t1.field1 AS field1, 
    t2.field2 AS field2, 
    t1.field3 AS field3, 
    t3.field4 AS field4 
FROM [datasetName.tableA] t1 
JOIN [datasetName.tableB] t2 ON t1.somefield = t2.anotherfield 
JOIN [datasetName.tableC] t3 ON t1.somefield = t3.yetanotherfield 
+0

謝謝米哈伊爾! :)你是我的BQ救星! –