일부 데이터를 쿼리해야합니다. 여기에 내가 작성한 쿼리가 있지만 나를 위해 잘 작동하지 않습니다. 이 예제에서는 AdventureWorks 데이터베이스를 사용하고 있습니다.CASE 문을 사용한 여러 조건
SELECT * FROM [Purchasing].[Vendor] WHERE PurchasingWebServiceURL LIKE
case
// In this case I need all rows to be returned if @url is '' or 'ALL' or NULL
when (@url IS null OR @url = '' OR @url = 'ALL') then ('''%'' AND PurchasingWebServiceURL IS NULL')
//I need all records which are blank here including nulls
when (@url = 'blank') then (''''' AND PurchasingWebServiceURL IS NULL')
//n this condition I need all record which are not like a particular value
when (@url = 'fail') then ('''%'' AND PurchasingWebServiceURL NOT LIKE ''%treyresearch%''')
//Else Match the records which are `LIKE` the input value
else '%' + @url + '%'
end
이것은 나를 위해 작동하지 않습니다. 어떻게 THEN
에 동일한 조건절을 여러 개 넣을 수 있습니까? CASE
? 이 작품을 어떻게 만들 수 있습니까?
왜 내가 CASE 문을 사용하여이 작업을 수행하려고하는지 궁금하게 생각합니다. 나는 내가 원하는대로 쿼리를 생성하기 위해 이것을 사용할 수 있다고 생각한다. 기본적으로 감사 – pavanred
키우면 : (!의! 조건 1과 조건 2 및 조건 3 및 조건 4) 조건 1 또는 조건이 또는 조건 3 또는 없음 문제 =) – kamahl