我有以下的數據庫結構:如何合併兩個表格?
`Products`
-------------------------------------
ID | ProductNo
-------------------------------------
1 | 3340
2 | 3450
`ProductVariants`
-------------------------------------
ID | MasterID (ref to `Products`.`ID`) | ProductNo
-------------------------------------
1 | 1 | 3341
2 | 1 | 3342
3 | 2 | 3451
我如何獲得產品和他們的產品有一個查詢異體?
編輯:
期望的結果:
MasterID | IsMaster | ProductNo | VariantProductNo
1 | 1 | 3340 | null
1 | 0 | 3340 | 3341
1 | 0 | 3340 | 3342
2 | 1 | 3450 | null
2 | 0 | 3450 | 3451
這將做到這一點!這是一個好方法還是可能會減慢執行查詢? – frgtv10
我想不出一個更有效的方法來做到這一點(有人可能知道的方式)。使用UNION ALL而不是UNION可以提高效率(一個普通的UNION消除了需要一些額外處理來檢查的副本,而在這種情況下,由於IsMaster字段不會有任何重複)。此外,它依賴VariantProductNo是唯一的(如果不從產品變體中帶回ID,並且在查詢的第一部分中有匹配的空字段)。 – Kickstart