동적쿼리 작성 관련하여 질문드립니다. WHERE 조건자를 동적으로 구성하고 싶은데
인터넷을 찾아보면 아래와 같이 컬럼과 값을 동적으로 입력해서 like 연산을 하는 예제가 있습니다. SELECT * FROM dbo.employees WHERE (CASE @column WHEN 'Last' THEN LastName WHEN 'First' THEN FirstName WHEN 'Title' THEN Title ELSE @value END) LIKE @value 그런데 제가 하고 싶은것은 @a 라는 변수가 있을때 @a 가 1일때 WHERE a = 100 @a 가 0 일때는 아무 조건없이 실행하고 싶습니다. 단순히 변수가 @a 1개 일때는 IF문을 사용해서 IF @a = 1 SELECT * FROM Temp WHERe a = 100 ELSE SELECT * FROM Temp 로 하면 가능한데 변수가 2개 이상일 경우에는 일일이 IF문으로 조합을 계산해서 넣어 주려니 쿼리가 엄청 길어지네요. 이와 관련해서 좋은 방법 있으면 조언좀 부탁드립니다. |