我的数据分布在两个具有不同结构的MySQL表中。
一张桌子有DVD,另一张桌子有CD。
DVD表格如下:
PUBLISHER
STOCK
DVD_INFO
EXTRA_DVD_INFO
CD表格如下:
PUBLISHER
STOCK
CD_INFO
如何在一个查询中获取同一发布者的所有CD和DVD,按STOCK
排序?
我不认为UNION
可以起作用,因为结构不同。
我不确定JOIN
在这种情况下如何为每个产品获取单独的行。
答案 0 :(得分:3)
您可以使用NULL来填充空列,例如
SELECT
PUBLISHER,
STOCK,
DVD_INFO AS INFO,
EXTRA_DVD_INFO
FROM DVD
WHERE PUBLISHER = ?
UNION ALL
SELECT
PUBLISHER,
STOCK,
CD_INFO AS INFO,
NULL
FROM CD
WHERE PUBLISHER = ?
ORDER BY STOCK;