-1
我有一個像如何簡單的查詢轉換的條件爲動態查詢
IF OBJECT_ID('tempdb..#t') IS NOT NULL
DROP TABLE #t
GO
IF OBJECT_ID('tempdb..#tt') IS NOT NULL
DROP TABLE #tt
GO
CREATE TABLE #t(ID INT,Name varchar(10))
insert into #t (ID,name)values (1,'mohan'),(2,'mohan')
CREATE TABLE #tt(ID INT,Name varchar(10))
insert into #tt (ID,name)values (1,'Raju'),(2,'ram')
表和我創建,我需要在我的原程序調用基於狀態
CREATE PROCEDURE usp_Getresult
(
@statusval char(2)
)
AS
BEGIN
IF @statusval = '01'
BEGIN
Select * from #t
END
IF @statusval = '02'
BEGIN
Select * from #tt
END
IF @statusval = '00'
BEGIN
Select P.ID,P.Name from (
Select * from #t
UNION ALL
Select * from #tt)P
END
END
EXEC usp_Getresult '00'=> '01' or '02'
的程序它有更多的條件,我只是不想寫入,如果條件我想這個轉換轉換成動態查詢,即使我知道轉換成動態,但如果我有多個條件,那麼我需要如何繼續
我在找不到性能方面只想消除,如果條件@eric – mohan111
@ mohan111不知道你是什麼意思通過消除'if',樣本中沒有一個'if' – Eric
此查詢確實消除了所有這些if語句。 – N0Alias