我有多个表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