我有多個表amazonlistings
ebaylistings
shopifylistings
與同一列SKU
。MySQL表名別名僅在聯盟中產生第一個別名
我試圖創建一個查詢,在所有這些表中搜索SKU
列。現在我正在用UNION做這件事。
$channeldetectquery = "(SELECT SKU as amazon FROM amazonlistings WHERE SKU = '$channelskuarray[$i]')
UNION
(SELECT SKU as ebay FROM ebaylistings WHERE SKU = '$channelskuarray[$i]')
UNION
(SELECT SKU as shopify FROM shopifylistings WHERE SKU = '$channelskuarray[$i]');"
如果我做這些具有獨特...
SELECT SKU as ebay FROM ebaylistings WHERE SKU = 'Product SKU'
從易趣提供的SKU爲目的,而是爲了嘗試使用上面的查詢與UNION
它只是提供了一些時候的原因無論結果如何,第一個別名(amazon
)。
我想要的結果(現在,我不知道這是理想與否,但這是我努力來實現),會像
[amazon] [ebay] [shopify]
SKU 1 SKU 1
[amazon] [ebay] [shopify]
SKU 2
等...空的結果設置(或沒有結果集),如果沒有找到SKU,並且找到SKU的結果。這使我可以檢查並查看SKU是否在適當的表格中找到。
這是預期的行爲,因爲SQL結果只有2維。你希望你的結果集看起來如何?請張貼樣本期望的結果。一個常見的解決方案是添加一個像SELECT SKU這樣的字符串,'amazon'源代碼來自amazonlistings',其中'source'輸出列將包含變量源表值。 –
另外,你寫了'$ channelskuarray [$ i]',所以你在循環中重複這個? –
我明白了。謝謝你的珍聞。我更新了我的問題。 @Oleksandr Savchenko,這是正確的。 – bbruman