【问题标题】:SQL Query to CAST and SUM columns in two different Tables having Multiple EntriesSQL 查询具有多个条目的两个不同表中的 CAST 和 SUM 列
【发布时间】:2017-11-04 10:48:01
【问题描述】:

在构建查询时需要帮助,该查询可以选择一个项目并总结其在 2 个不同表中的数量。

示例场景:

表 1:

ID |项目名称 |数量 |

1 | Item_Desc1 | 0 |

2 | Item_Desc2 | 2 |

3 | Item_Desc3 | 4 |

4 | Item_Desc4 | 0 |

表 2:

ID |项目 ID |批号 |数量

1 | 1 | B1 | 100

2 | 1 | B2 | 100

3 | 2 | B3 | 0

4 | 3 | B2 | 100

5 | 4 | B2 | 200

6 | 4 | B3 | 100

需要一个查询来显示在数据网格表中,如下所示:

ID |物品名称 |数量

1 | Item_Desc1 | 200

2 | Item_Desc2 | 2

3 | Item_Desc3 | 104

4 | Item_Desc4 | 300

注意:

此查询对于使用“LIKE”运算符运行搜索查询应该很有用,用户可以使用它来搜索所需的项目

SAMPLE Image of My APPLICATION to Run Search query using Table 1 and Table 2 SAMPLE Image of My APPLICATION DATABASE - TABLE2 SAMPLE Image of My APPLICATION DATABASE - TABLE1

【问题讨论】:

    标签: mysql vb.net search join


    【解决方案1】:

    要从 2 个表中获取总和,您可以使用以下查询

    select a.ID, a.ITEM_NAME, a.QTY + coalesce(b.QTY,0)
    from Table1 a
    left join (
      select ITEM_ID,sum(QTY) QTY
      from Table2
      group by ITEM_ID
    ) b on a.ID = b.ITEM_ID
    

    Demo

    【讨论】:

    • 如果可能,更正我的代码。SELECT a.id as [Item#],a.ITEMNAME as [ITEM NAME / Full Description],(cast(a.QTY as numeric(19,2)) + coalesce(cast(b.QTY as numeric(19,2)))) as [Quantity] FROM [iBillDB].[dbo].[Inventory] a left join ( select ITEMID,sum(cast(QTY as numeric(19,2))) QTY from [iBillDB].[dbo].[BATCHENTRY] group by ITEMID) b on a.ID = b.ITEMID
    【解决方案2】:

    试试下面的查询

    select tbl1.id as ID,tbl1.Item_Name, tbl.qty+sum(tbl2.qty) as QTY 
    from table1  as tbl1 JOIN table2 as tbl2 
    ON tbl1.id = tbl2.id group by tbl2.item_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 2018-04-25
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      相关资源
      最近更新 更多