SQL Server请帮我比较2表获取错误

时间:2014-08-11 08:16:33

标签: sql sql-server

有2个表,表A和表B, 如果与此表有任何不同,请帮我查询获取错误。 条件:

  

如果表A中的项目名称与表B具有不同的名称

  

如果表A中的项目值大于B

并收到错误消息。

Example

非常感谢任何人都可以帮助我..

2 个答案:

答案 0 :(得分:0)

这或多或少是在黑暗中刺伤,等待更完整的问题,但这就是我认为你在问的问题。

首先,您要查找表B中的任何项目是否与表A中的项目共享,但名称不同。

SELECT a.*
FROM a
INNER JOIN b ON a.Code = b.Code
WHERE a.Name != b.Name

其次,您希望找到任何与代码匹配的项目,其中B的Val小于或等于A.

SELECT a.*
FROM a
INNER JOIN b ON a.Code = b.Code
WHERE a.Val > b.Val

当然,如果需要,您可以更改列列表以列出每个表中每条记录的详细信息。

答案 1 :(得分:0)

不太确定你的目标是什么

Select T1.Code,(case when T1.Item != T2.Itemthen 'Error' else 'Success' end) as ItemMessage,
       (case when T1.Val > T2.Val then 'Error' else 'Success' end) as ValueMessage,
from Table1 T1
    inner join Table2 T2 On T1.Code=T2.Code