SQL查询到具有多个条目的两个不同表中的CAST和SUM列

时间:2017-11-04 10:48:01

标签: mysql vb.net search join

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

示例场景:

表1:

ID | ITEM_NAME |数量|

1 | Item_Desc1 | 0 |

2 | Item_Desc2 | 2 |

3 | Item_Desc3 | 4 |

4 | Item_Desc4 | 0 |

表2:

ID | ITEM_ID | BATCHNO | QTY

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 | Item_Name | QTY

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

2 个答案:

答案 0 :(得分:0)

要从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

答案 1 :(得分:-1)

尝试以下查询

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