具有项目名称的产品表table1
item_cid | item_id | 项目名 |
---|---|---|
8 | 403 | 龙舌兰酒1 |
8 | 404 | 龙舌兰酒2 |
8 | 405 | 龙舌兰酒3 |
8 | 406 | 龙舌兰酒4 |
8 | 407 | 龙舌兰酒5 |
8 | 408 | 龙舌兰酒6 |
2 | 409 | 百思不得其解1 |
2 | 5 | budwiser2 |
2 | 7 | budwiser4 |
2 | 8 | 百智5 |
table2有当前库存
item_cid | item_id | 项目名 | 当前库存 |
---|---|---|---|
8 | 403 | 龙舌兰酒1 | 11 |
8 | 404 | 龙舌兰酒2 | 10 |
8 | 405 | 龙舌兰酒3 | 32 |
8 | 406 | 龙舌兰酒4 | 44 |
2 | 409 | 百思不得其解1 | 55 |
2 | 5 | budwiser2 | 58 |
table3有采购库存
item_cid | item_id | 项目名 | 购买数量 |
---|---|---|---|
8 | 407 | 龙舌兰酒5 | 4 |
8 | 408 | 龙舌兰酒6 | 7 |
2 | 7 | budwiser4 | 8 |
2 | 8 | 百智5 | 9 |
2 | 409 | 百思不得其解1 | 5 |
2 | 5 | budwiser2 | 2 |
我想要的结果
item_cid | item_id | 项目名 | 当前库存 | 购买数量 | 全部的 |
---|---|---|---|---|---|
8 | 403 | 龙舌兰酒1 | 11 | 无效的 | 11 |
8 | 404 | 龙舌兰酒2 | 10 | 无效的 | 10 |
8 | 405 | 龙舌兰酒3 | 32 | 无效的 | 32 |
8 | 406 | 龙舌兰酒4 | 44 | 无效的 | 44 |
8 | 407 | 龙舌兰酒5 | 无效的 | 4 | 4 |
8 | 408 | 龙舌兰酒6 | 无效的 | 7 | 7 |
2 | 409 | 百思不得其解1 | 55 | 5 | 60 |
2 | 5 | budwiser2 | 58 | 2 | 60 |
2 | 7 | budwiser4 | 无效的 | 8 | 8 |
2 | 8 | 百智5 | 无效的 | 9 | 9 |
我尝试的查询无法在最终结果中从表 3 中检索行,这就是我得到的
item_cid | item_id | 项目名 | 当前库存 | 购买数量 | 全部的 |
---|---|---|---|---|---|
8 | 403 | 龙舌兰酒1 | 11 | 无效的 | 11 |
8 | 404 | 龙舌兰酒2 | 10 | 无效的 | 10 |
8 | 405 | 龙舌兰酒3 | 32 | 无效的 | 32 |
8 | 406 | 龙舌兰酒4 | 44 | 无效的 | 44 |
8 | 407 | 龙舌兰酒5 | 无效的 | 4 | 4 |
8 | 408 | 龙舌兰酒6 | 无效的 | 7 | 7 |
2 | 409 | 百思不得其解1 | 55 | 5 | 60 |
2 | 5 | budwiser2 | 58 | 2 | 60 |
SELECT
*
FROM
table2 a
LEFT JOIN
table3 b ON a.item_id = b.item_id
JOIN
table1 d ON d.item_id=a.item_id
ORDER BY a.item_id
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=aeac4b2165c8b8370fbbc082f08b3145
PS。您的表格未标准化。