【发布时间】:2019-09-06 20:19:27
【问题描述】:
我正在处理一个小型库存项目,我有两个表要以特定方式合并。
这是我的两张桌子:
表 1(初始项目列表):
Scan# ItemNUmber Serial#
----------- ----------- ---------------
374 123458 10
374 123458 11
374 123458 30
表 2(计数产品):
Scan# ItemNumber Barcode#
----------- ----------- ---------------
374 123458 926373700243
374 123458 926373700267
这是我正在使用的代码:
SELECT DISTINCT *
FROM (SELECT *
FROM
(SELECT ScannedItems.CountTagId, ScannedItems.ItemNumber, ScannedItems.barcode
FROM ScannedItems
UNION ALL
SELECT CountId, ItemNumber, SerialNumber
FROM FrozenData
) Tbls
GROUP BY ItemNumber, CountTagId, Barcode
HAVING COUNT(*)<2
) Diff
这是输出:
Scan# ItemNUmber Serial#
----------- ----------- ---------------
374 123458 10
374 123458 11
374 123458 30
374 123458 926373700243
374 123458 926373700267
这是我想要输出的内容(不包括序列号 30,因为它没有被计算在内):
Scan# ProductNo Barcode# SN#
----------- ----------- --------------- -----
374 123458 926373700243 10
374 123458 926373700267 11
我知道我忘记了什么。非常感谢任何帮助或指向可以提供帮助的地方的链接。
【问题讨论】:
-
你怎么知道哪个 Barcode# 对应哪个 SN#?
-
您是否打算依赖列出的顺序并将第一行与第一行、第二与第二等进行匹配?
标签: sql sql-server sql-server-2012-express