如何对新查询使用“选择查询结果(数组)”并显示每个值的结果?

我想从一个表中获取项目名称,并使用该名称使用另一表中的名称来计算值。

  1. 我正在使用选择查询来获取结果行:

SELECT itemname FROM tablename
  1. 我想一个接一个地使用结果数组或数组值来运行我的下一个查询。

    SELECT SUM(quantity) as inward FROM inward_details WHERE item_name='$itemname'

一共有三张桌子

  1. 物品

  2. 向内的

  3. 向外

我想做的是从带有选择查询的项目表中获取项目列表,然后从内部获取项目的数量,从外部获取项目的数量,然后从外部数量减去内部数量并回显结果。

例如项目名称为钢笔,入库数量为20,出库数量为5,那么我想将结果显示为钢笔15(20-5)

但是我想要项目表中的所有项目。


心有法竹
浏览 165回答 2
2回答

HUX布斯

您只需使用一个查询,就可以得到想要的结果LEFT JOIN:SELECT t.itemname,        COALESCE(SUM(i.quantity), 0) AS inward,       COALESCE(SUM(o.quantity), 0) AS outward,       COALESCE(SUM(i.quantity), 0) - COALESCE(SUM(o.quantity), 0) AS movementFROM tablename tLEFT JOIN inward_details i ON i.item_name = t.itemnameLEFT JOIN outward_details o ON o.item_name = t.itemnameGROUP BY t.itemname我们使用a,LEFT JOIN以便如果没有inward_details与某项目相关联的行,我们仍然获得一行,并且我们COALESCE使用SUMa,NULL以便该情况的结果为0值。
打开App,查看更多内容
随时随地看视频慕课网APP