我遇到GBQ中的查詢結果,我不明白也無法解釋。在GBQ中奇怪的加入結果
我想連接兩個具有完全相同的架構結構,可能有重複的表。
我的願望是將表1中所有行和table2中所有不存在於table1中的附加行基於唯一標識符進行連接。這是一個非常常見的連接場景。
因此,爲了測試我的連接,我縮小了我的where子句,使其指向單行。我驗證了每個表中存在該行,並且列數據每個都是相同的。
這裏是我用來測試,它返回單行一個示例查詢,
選擇T1。*從dataset1.homework T1 WHERE t1.book_id = 12345 AND t1.homework_id = 10337096 AND t1.homeworkresult_id = 12353139 AND t1.question_id = 2;
select t1。* from dataset2.homework t1 WHERE t1.book_id = 12345 AND t1.homework_id = 10337096 AND t1.homeworkresult_id = 12353139 AND t1.question_id = 2;
我驗證每個返回單行像我所期望的。現在,如果我加入兩個表(在我的情況下,table1將有最多的行)。
這是我的加入聲明,返回30個ROWS,所有重複項。我不知道額外的行來自哪裏,或者什麼bigquery正在做什麼。 EACH條款是必需的,因爲我的表格大小超過了最小8Mb壓縮限制。
SELECT T1。* FROM AS dataset1.homework T1 LEFT JOIN EACH dataset2.homework爲T2 ON t1.homeworkresult_id = t2.homeworkresult_id WHERE t1.book_id = 12345 AND t1.homework_id = 10337096和T1。 homeworkresult_id = 12353139 AND t1.question_id = 2;
我真的很感激,如果有人能夠揭示這裏發生了什麼。
感謝,J.D.
您是否有任何重複字段?請注意接口會自動平整數據。 – Pentium10
如果Pentium10的答案沒有幫助,我很樂意進一步調查。您可以將作業ID發送到[email protected]。 –
感謝您的回覆。沒有重複的字段。 (query1),(query2),...,(queryN)中使用「UNION」,如GBQ語法SELECT * –