SQL计算单元格值之间的差异
嗨,我想知道是否有人知道我如何计算tsql中两个表之间的差异。我不是说找出哪些细胞是不同的——我是说计算数值上的差异。表A有第1列、第2列,只有一行。A1=40,B1=30。表B有第1列、第2列,只有一行。A1=25,B1=10。那么,我如何使用TSQL获得(A1=15,B1=20)?从我的思维中解放出来=)SQL计算单元格值之间的差异,sql,sql-server,tsql,Sql,Sql Server,Tsql,嗨,我想知道是否有人知道我如何计算tsql中两个表之间的差异。我不是说找出哪些细胞是不同的——我是说计算数值上的差异。表A有第1列、第2列,只有一行。A1=40,B1=30。表B有第1列、第2列,只有一行。A1=25,B1=10。那么,我如何使用TSQL获得(A1=15,B1=20)?从我的思维中解放出来=) SELECT a.column1 - b.column1 , a.column2 - b.column2 FROM a CROSS JOIN b 从我的思想中解放
SELECT a.column1 - b.column1 , a.column2 - b.column2
FROM a
CROSS JOIN
b
从我的思想中解放出来=)
考虑到您无法连接这些表,您将需要两个表的笛卡尔乘积。幸运的是,每个表只有一条记录,这不是问题 你是这样做的:
SELECT
TableA.A1 - TableB.A1 AS A1,
TableA.B1 - TableB.B1 AS B1
FROM TableA, TableB
如果每个表中有多条记录,则此查询将为两个表中的每对记录返回一个结果。因此,如果TableA有n条记录,TableB有m条记录,那么结果将有n*m条记录。如果无法连接这些表,则需要这两条记录的笛卡尔乘积。幸运的是,每个表只有一条记录,这不是问题 你是这样做的:
SELECT
TableA.A1 - TableB.A1 AS A1,
TableA.B1 - TableB.B1 AS B1
FROM TableA, TableB
如果每个表中有多条记录,则此查询将为两个表中的每对记录返回一个结果。因此,如果TableA有n条记录,TableB有m条记录,那么结果将有n*m条记录