我有一个表 stock,其列 stockID 作为主键,Stock_Description(显示 stockA、StockB、StockC)。
然后我有表 stock A、StockB 和 StockC,它们都有列 Revision,Id 作为主键,StockId 作为辅助键。
我想在库存表中显示一列,该列显示每个 Stock_Description 的相应修订版本以及显示 A、B、C 的列类型。数据库是mysql。
最佳答案
试试这个:
/*
Design
<stock_description> {<stock_id>, <stock_a>, <stock_b>, <stock_c>}
<stock_*> {<Id>, <stock_id>, <revision>}
*/
SELECT
sd.`<stock_id>` 'Stock ID',
sd.`<stock_a>` 'Stock A', sa.`<revision>` 'Stock A Revision',
sd.`<stock_b>` 'Stock B', sb.`<revision>` 'Stock B Revision',
sd.`<stock_c>` 'Stock C', sc.`<revision>` 'Stock C Revision'
FROM
`<stock_description>` sd
INNER JOIN `<stock_a>` sa ON sa.`<stock_id>` = sd.`<stock_id>`
INNER JOIN `<stock_b>` sb ON sb.`<stock_id>` = sd.`<stock_id>`
INNER JOIN `<stock_c>` sc ON sc.`<stock_id>` = sd.`<stock_id>`
GROUP BY
sd.`<stock_id>`;
喜欢,只需替换 <enclosed>
部分与数据库中相应的表名或列名。干杯!
关于mysql - 从多个表的单个列中检索数据以充当另一个表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33249590/