在Sql Server 2008中,我尝试了此查询,但未得到任何结果.请告诉Soution为什么我没有得到结果
问题描述:
CREATE TABLE #A(ID INT,NAME VARCHAR(10))
INSERT INTO #A VALUES(1,'ABC')
INSERT INTO #A VALUES(2,'XYZ')
INSERT INTO #A VALUES(3,'mnc')
CREATE TABLE #B(ID INT,NAME VARCHAR(10))
INSERT INTO #B VALUES(null,'ABC')
INSERT INTO #B VALUES(2,'XYZ')
INSERT INTO #B VALUES(3,'mnc')
Select * from #A where ID not in (select ID from #B)
在此我没有任何结果.
实际结果是"1,ABC",但是我没有得到结果.
In This I am not getting any result.
Actually the result Came is "1,ABC" But I am not getting result
答
CREATE TABLE #A(ID INT,NAME VARCHAR(10))
INSERT INTO #A VALUES(1,'ABC')
INSERT INTO #A VALUES(2,'XYZ')
INSERT INTO #A VALUES(3,'mnc')
CREATE TABLE #B(ID INT,NAME VARCHAR(10))
INSERT INTO #B VALUES(null,'ABC')
INSERT INTO #B VALUES(2,'XYZ')
INSERT INTO #B VALUES(3,'mnc')
Select * from #A where ID not in (select ID from #B WHERE ID IS NOT NULL)
DROP TABLE #A
DROP TABLE #B
嗨. .
U可以将join用于上面的一个.
Hi...
U can use join for the above one.
select #A.ID,#A.NAME from #A left join #B
on #A.ID=#B.ID where #B.ID is null
Select * from #A where Id not in (select isnull(ID,0) from #B )
或
or
Select * from #A where Id not in (select Id from #B where ID is not null )