当前位置: 代码迷 >> Sql Server >> 不同ID号取最大ID号?该如何处理
  详细解决方案

不同ID号取最大ID号?该如何处理

热度:87   发布时间:2016-04-24 09:58:30.0
不同ID号取最大ID号?
有A表和B表

                       A                                                                   B
                      ID                                                                  ID
                       5                                                                   5
                       6                                                                   7                                                                  
                       7                                                                   8
                       8                                                                  10
                       9
                      10
希望对比A表和B表中ID号差异的部分取出最大值结果应该是9,这个语句应该怎么写?
------解决思路----------------------
你试下

SELECT MAX(ISNULL(A.ID,B.ID))ID FROM A FULL JOIN B ON A.ID = B.ID WHERE A.ID IS NULL OR B.ID IS NULL

------解决思路----------------------

DECLARE @A TABLE(ID INT);
INSERT @A
SELECT 5 UNION ALL 
SELECT 6 UNION ALL 
SELECT 7 UNION ALL 
SELECT 8 UNION ALL 
SELECT 9 UNION ALL 
SELECT 10;
DECLARE @B TABLE(ID INT)
INSERT @B
SELECT 5 UNION ALL 
SELECT 7 UNION ALL 
SELECT 8 UNION ALL 
SELECT 10;

WITH DIF AS 
(
SELECT a.id FROM @A a LEFT JOIN @B b ON a.ID = b.ID WHERE b.id is null
)
SELECT MAX(id) FROM dif
  相关解决方案