首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

简单的SQL!

2013-11-01 
求一个简单的SQL!!!IF OBJECT_ID(tempdb..#a) IS NOT NULL DROP TABLE #aCREATE TABLE #a(id INT PRIMAR

求一个简单的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

热点排行