1
類似的質疑BigQuery combine tables based on closest timerstamp and matching value的BigQuery - 結合基於匹配值或時間戳
我有三個表和表numberTwo的每一行,我需要得到提示表的Numberone有三個表相同鱈值和那些之間,比較TIME1和TIME2當具有最接近時間之一。如果鱈魚沒有在表中給出的Numberone它試圖得到提示表匹配鱈魚 numberThree
爲了更容易明白我需要做的是:
表的Numberone:
| id | cod | hint | time1 |
---------------------------------------------------
| 1 | ABC | V | 2016-11-03 18:00:00 UTC |
| 2 | ABC | W | 2016-11-03 12:00:00 UTC |
| 3 | CDE | X | 2016-11-03 19:00:00 UTC |
| 4 | CDE | Y | 2016-11-03 19:30:00 UTC |
| 5 | EFG | Z | 2016-11-03 18:00:00 UTC |
表numberTwo
| id | cod | value | time2 |
----------------------------------------------------
| 1 | ABC | xyz2 | 2016-11-03 18:20:00 UTC |
| 2 | FHK | h323 | 2016-11-03 11:30:00 UTC |
| 3 | ABC | rewq | 2016-11-03 09:00:00 UTC |
| 4 | IJK | abce | 2016-11-03 19:10:00 UTC |
表numberThree
| id | cod | hint |
--------------------------
| 1 | FHK | tes1 |
| 2 | IJK | tes2 |
| 3 | MNK | tes3 |
| 4 | MOP | tes4 |
所以,列#1表numberTwo我會得到表的Numberone所有行與鱈魚:ABC
| 1 | ABC | V | 2016-11-03 18:00:00 UTC |
| 2 | ABC | W | 2016-11-03 12:00:00 UTC |
而這些我會得到時間2了一個與最接近的時間戳之間:
| 1 | ABC | V | 2016-11-03 18:00:00 UTC |
如果鱈魚在表中沒有給出的Numberone這對錶numberThree匹配。代碼numberOne和numberThree是唯一的。所以不存在兩個表格中都會出現相同的代碼的情況。所以它可以嘗試首先匹配表numberThree。
所需的表
| id | cod | hint | value | time2 |
--------------------------------------------------------------
| 1 | ABC | V | xyz2 | 2016-11-03 18:20:00 UTC |
| 2 | FHK | tes1 | h323 | |
| 3 | ABC | W | rewq | 2016-11-03 09:00:00 UTC |
| 4 | IJK | tes2 | abce | |
什麼是架構numberThree:
處理每一行我也有一個這樣的表格之後?什麼是預期的輸出模式?請+簡單的例子! –
@MikhailBerlyant我已經更新了這個問題。 –
做了這項工作? –