Sql server 两个表的3个值之间的差异
我有两张像这样的桌子Sql server 两个表的3个值之间的差异,sql-server,comparison,Sql Server,Comparison,我有两张像这样的桌子 id att1 att2 1 34 56 2 45 12 3 34 11 id att1 att2 1 14 10 2 25 2 3 14 10 如何获得3个值之间的差值,如 id att1 att2 1-1=0 34-14=20 56-10=46 2-2=0 45-25=20 12-2 =10 3-3=0 34-14=20 11-10=1 SELECT A.id
id att1 att2
1 34 56
2 45 12
3 34 11
id att1 att2
1 14 10
2 25 2
3 14 10
如何获得3个值之间的差值,如
id att1 att2
1-1=0 34-14=20 56-10=46
2-2=0 45-25=20 12-2 =10
3-3=0 34-14=20 11-10=1
SELECT A.id-B.id, A.att1-B.att1,A.att2-B.att2 from TABLEA as A join TABLEB as B...
你真的不想从一个id中减去另一个id,是吗
SELECT
A.id,
A.att1 - B.att1,
A.att2 - B.att2
FROM
A JOIN B ON A.id = B.id
你真的不想从一个id中减去另一个id,是吗
SELECT
A.id,
A.att1 - B.att1,
A.att2 - B.att2
FROM
A JOIN B ON A.id = B.id
不确定您要找的是您在问题中尚未提供的内容。你是说这样的事吗
SELECT
CAST(A.id AS VARCHAR(200)) + '-' + CAST(B.id AS VARCHAR(200)) + '=' + CAST(A.id - B.id AS VARCHAR(200)) id
,CAST(A.att1 AS VARCHAR(200)) + '-' + CAST(B.att1 AS VARCHAR(200)) + '=' + CAST(A.att1 - B.att1 AS VARCHAR(200)) att1
,CAST(A.att2 AS VARCHAR(200)) + '-' + CAST(B.att2 AS VARCHAR(200)) + '=' + CAST(A.att2 - B.att2 AS VARCHAR(200)) att2
FROM
TABLEA A
INNER JOIN TABLEB B ON A.id = B.id
不确定您要找的是您在问题中尚未提供的内容。你是说这样的事吗
SELECT
CAST(A.id AS VARCHAR(200)) + '-' + CAST(B.id AS VARCHAR(200)) + '=' + CAST(A.id - B.id AS VARCHAR(200)) id
,CAST(A.att1 AS VARCHAR(200)) + '-' + CAST(B.att1 AS VARCHAR(200)) + '=' + CAST(A.att1 - B.att1 AS VARCHAR(200)) att1
,CAST(A.att2 AS VARCHAR(200)) + '-' + CAST(B.att2 AS VARCHAR(200)) + '=' + CAST(A.att2 - B.att2 AS VARCHAR(200)) att2
FROM
TABLEA A
INNER JOIN TABLEB B ON A.id = B.id
这两个表应该至少有一个匹配列,否则,如何?我将使用的ID,但如何完成查询然后检查@John Pick answer。这两个表应该至少有一个匹配的列,否则,如何?我将使用的ID,但如何完成查询然后检查@John Pick answer。你想要达到的目标应该是好的。