【发布时间】:2014-02-11 12:09:45
【问题描述】:
我的数据库中有 3 个表,分别是:
1.表 1 (po)
po_id other_col_data
1 other col data
2 other col data
3 other col data
4 other col data
5 other col data
6 other col data
2。 table2 (po_items)
po_id |poitems |amount
========+=======+==========
1 |aaaa |200
1 |bbbbb |150
2 |ccccc |50
2 |ddddd |250
3 |eeeee |325
3 |fffff |520
3 |ggggg |120
3.表 3 (inv_items)
po_id |invitems|amount
========+=======+==========
1 |aaaa |200
1 |bbbbb |150
1 |ccccc |50
2 |ddddd |250
3 |eeeee |325
3 |fffff |520
3 |ggggg |120
1 |ccccc |50
2 |ddddd |250
3 |eeeee |325
1 |kkkkk |50
2 |ddddd |250
3 |eeeee |325
我想得到以下格式:
结果
ID ITEM PO-Amount INV-Amount
====+======+==========+==========
1 aaaaa 200 200
1 aaaaa 150 150
1 ccccc 00 50
1 kkkkk 00 50
【问题讨论】:
-
...和 (我假设) 你不知道如何编写 SQL?对吗?
-
您是否尝试过任何查询来解决此问题?
-
SELECT po.id, poi.item_description, poi.amount AS POI_AMOUNT, inv.amount AS INV_AMOUNT FROM purchase_orders AS po INNER JOIN purchase_order_items AS poi ON po.id = poi.purchase_order_id INNER JOIN invoice_items AS inv ON po.id = inv.purchase_order_id WHERE inv.purchase_order_id = poi.purchase_order_id
-
但是此查询将返回 po_items 表中的所有项目...问题是,如果在这种情况下 inv_amount 列的发票表中不存在该项目,请重复之前的金额那个特定的项目......
标签: mysql sql join subquery database-administration