排序后表中SQL字段相加的問題解決
在ORDER BY排序后,表中SQL字段相加卻出現(xiàn)了問題?下面就為您詳細(xì)解讀出現(xiàn)的問題,以及解決的辦法,供您參考學(xué)習(xí)。
在sql server2000自帶DB-pubs,運(yùn)行下面的sql,它是把***條和第二條記錄的字段job_id進(jìn)行了相加
我們可以得到字符:1.2.
- declare @str varchar(1000)
- select @str=''
- SELECT top 2 @str=@str+ convert(varchar(10),job_id)+'.'
- FROM [pubs].[dbo].[jobs]
- print @str
現(xiàn)在我想從表中隨機(jī)抽2條記錄,把job_id SQL字段來相加
我們只得到字符:5.
- declare @str varchar(1000)
- select @str=''
- SELECT top 2 @str=@str+ convert(varchar(10),job_id)+'.'
- FROM [pubs].[dbo].[jobs]
- order by newid()
- print @str
這時(shí)我總是只能得到一條隨機(jī)行的job_id
這樣排序后為什么是這樣?
我想了一個(gè)中轉(zhuǎn)的方法
就是利用了局部臨時(shí)表過渡
- SELECT top 2 job_id
- into #temp
- FROM [pubs].[dbo].[jobs]
- order by newid()
這樣再利用#temp來進(jìn)行job_id的SQL字段相加
【編輯推薦】