我有两张名为SAP& amp;的表。 PRO。它们中的列相同 - 部分,描述&数量。以下是一些示例数据
create table SAP(
Part char(1),
Description varchar(20),
Qty int
)
create table PRO(
Part char(1),
Description varchar(20),
Qty int
)
insert into SAP values
('A', 'Apple', 2),
('A', 'Apple', 4),
('B', 'Ball', 3),
('C', 'Card', 1),
('C', 'Card', 4),
('D', 'Doll', 5),
('E', 'Egg', 12),
('F', 'Fish', 23),
('G', 'Gun', 50);
insert into PRO values
('A', 'Apple', 6),
('B', 'Ball', 1),
('D', 'Doll', 4),
('E', 'Egg', 20),
('F', 'Fish', 10);
SAP
Part Description Qty
---- -------------------- -----------
A Apple 2
A Apple 4
B Ball 3
C Card 1
C Card 4
D Doll 5
E Egg 12
F Fish 23
G Gun 50
PRO
Part Description Qty
---- -------------------- -----------
A Apple 6
B Ball 1
D Doll 4
E Egg 20
F Fish 10
如图所示,两者的共同记录很少
我想通过Part和Description以及两个表中的数量来获取它们中的常见记录。常见的记录是部分 - A,B,D,E,F,描述 - Apple,Ball,Doll,Egg,Fish和数量表SAP - 2,4为Apple,3为Ball,5为Doll,12为Egg, 23表示鱼和PRO表中的数量 - 苹果为6,球为1,娃娃为4,蛋为20,鱼为10(如下图所示)
Part Description Qty in SAP Qty in PRO
---- ------------------ ---------- ----------
A Apple 2 6
A Apple 4 6
B Ball 3 1
D Doll 5 4
E Egg 12 20
F Fish 23 10
答案 0 :(得分:0)
以下Query应该可以帮助您获得所需的输出:
`SELECT SAP.Part, SAP.[Description], SAP.Qty AS [Qty in SAP], PRO.Qty AS [Qty in PRO] FROM [SAP] INNER JOIN [dbo].[PRO] ON SAP.Part=PRO.Part AND SAP.[Description]=PRO.[Description]`
答案 1 :(得分:0)
如果部分和描述相同,您可以使用连接执行此操作,是否像这样执行此操作?
SELECT
S.part,
S.description,
S.quantity,
P.quantity
FROM SAP S
INNER JOIN PRO P
ON S.Part = p.Part
AND S.Description = P.Description
您可以根据需要将联接更改为LEFT或RIGHT,以查看唯一记录。作为一个单独的注释,在同一个表(例如Apple)中有重复的键值是一个坏主意,我建议删除它并添加一个唯一的索引以防止重复出现。
答案 2 :(得分:0)
试试这个
选择
SAP.Part,
SAP.[Description],
SAP.Qty as [Qty in SAP],
PRO.Qty as [Qty in PRO]
FROM
SAP
INNER JOIN PRO
ON SAP.Part = PRO.Part AND SAP.[Description] = PRO.[Description]
由于
微米。帕布