根據(jù)多條件查詢臨時(shí)表 想得到不同結(jié)果集的方法
select * from @tb t where t.id in (select id from tb where f = @c)
但如果有@a,@b,@c,而它們分別想從@tb中得到不同的結(jié)果集,例如
if @a is not null
begin
--得到@a想得到的
end
if @b is not null
begin
--得到@b想得到的
end
if @c is not null
begin
--得到@c想得到的
end
這樣做好像沒(méi)什么問(wèn)題,但如果@a和@b是一起的,甚至是@a,@b,@c,@d,@e,@f等等N多種條件組合,這樣就不好辦了。所以必須先build好@tb,最后一次性查詢
--構(gòu)造@tb
select * from @tb
假如我已經(jīng)通過(guò)@a,@b得到了一種@tb結(jié)果集,當(dāng)我再次使用@c進(jìn)行條件判斷時(shí),這樣就會(huì)覆蓋剛才的結(jié)果。
可以采用“刪除不符合條件的記錄”的方法來(lái)做,由于@tb已經(jīng)得到了@a,@b想得到的結(jié)果,所以只要?jiǎng)h除掉不符合@c的結(jié)果就行了。完。
if @c is not null
begin
delete c from @tb c where c.id not in (select id from tb where f = @c)
end
select * from @tb
- sql server 臨時(shí)表 查找并刪除的實(shí)現(xiàn)代碼
- SQLServer中臨時(shí)表與表變量的區(qū)別分析
- sqlserver 臨時(shí)表的用法
- sqlserver 臨時(shí)表 Vs 表變量 詳細(xì)介紹
- sqlserver 動(dòng)態(tài)創(chuàng)建臨時(shí)表的語(yǔ)句分享
- 關(guān)于sqlserver 2005 使用臨時(shí)表的問(wèn)題( Invalid object name #temptb)
- mysql復(fù)制中臨時(shí)表的運(yùn)用技巧
- mysql 臨時(shí)表 cann''t reopen解決方案
- SQL Server 向臨時(shí)表插入數(shù)據(jù)示例
- 淺析SQL server 臨時(shí)表
- MySQL使用臨時(shí)表加速查詢的方法
- sql server創(chuàng)建臨時(shí)表的兩種寫法和刪除臨時(shí)表
- 對(duì)比Oracle臨時(shí)表和SQL Server臨時(shí)表的不同點(diǎn)
相關(guān)文章
在SQL Server 2005中創(chuàng)建CLR存儲(chǔ)過(guò)程的詳細(xì)介紹
本篇文章是對(duì)在SQL Server 2005中創(chuàng)建CLR存儲(chǔ)過(guò)程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法
這篇文章主要介紹了SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法,需要的朋友可以參考下2016-10-10SQL Server 遠(yuǎn)程更新目標(biāo)表數(shù)據(jù)的存儲(chǔ)過(guò)程
這篇文章主要介紹了SQL Server 遠(yuǎn)程更新目標(biāo)表數(shù)據(jù)的存儲(chǔ)過(guò)程,適用于更新列名一致,主鍵為Int類型,具體實(shí)例代碼大家參考下本文2018-05-05sql server判斷數(shù)據(jù)庫(kù)、表、列、視圖是否存在
這篇文章主要介紹了sql server判斷數(shù)據(jù)庫(kù)、表、列、視圖是否存在的方法,需要的朋友可以參考下2014-07-07判斷字段是否被更新 新舊數(shù)據(jù)寫入Audit Log表中
客戶要求,要對(duì)一個(gè)敏感數(shù)據(jù)表進(jìn)行Audit跟蹤。如果記錄被更新時(shí),要把舊新保存起來(lái),是誰(shuí)更改了記錄,什么時(shí)候更新的等相關(guān)信息。還有一個(gè)主要問(wèn)題就是客戶不確定具體要跟蹤那個(gè)字段,希望自己決定2012-01-01sql server中隨機(jī)函數(shù)NewID()和Rand()
在SQL語(yǔ)言中,隨機(jī)函數(shù)NEWID和rand()用法并不相同,下面就將為您示例分析這兩個(gè)隨機(jī)函數(shù)的區(qū)別,供您參考,希望對(duì)您深入理解SQL函數(shù)能起到作用2015-10-10SQL Server在AlwaysOn中使用內(nèi)存表的“踩坑”記錄
這篇文章主要給大家介紹了關(guān)于SQL Server在AlwaysOn中使用內(nèi)存表的一些"踩坑"記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09sqlserver 通用分頁(yè)存儲(chǔ)過(guò)程
sqlserver 通用分頁(yè)存儲(chǔ)過(guò)程,用存儲(chǔ)過(guò)程可以提高效率與節(jié)約時(shí)間。2009-09-09