读书人

简单的SQL!

发布时间: 2013-11-01 14:43:02 作者: rapoo

求一个简单的SQL!!!


IF OBJECT_ID('tempdb..#a') IS NOT NULL DROP TABLE #a
CREATE TABLE #a(id INT PRIMARY KEY IDENTITY(1,1),aaa NVARCHAR(11))

INSERT INTO #a(aaa )
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT 'c' UNION ALL
SELECT 'd'


IF OBJECT_ID('tempdb..#b') IS NOT NULL DROP TABLE #b
CREATE TABLE #b(id INT PRIMARY KEY IDENTITY(1,1),bbb NVARCHAR(11))
INSERT INTO #b(bbb )
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL
SELECT 'C'


SELECT * FROM #a
SELECT * FROM #b

--想要根据两表中,其中一个数据条数最多的表来做主表,然后关联查询,目的是想获取尽可能多的数据。
--例如:如果#a的条数大于#b就用 #a left join #b on #a.id=#b.id
--#a和#b两个表中的数据条数不确定,它们的数据条数可能随时改变


[解决办法]
取尽可能多的数据,用 full join 就可以了。
[解决办法]
用full join 吧,不用判断了

select id=case when isnull(a.id,'')='' then b.id else a.id end,aaa,bbb from #a a full join #b b on a.id=b.id

读书人网 >SQL Server

热点推荐