J'ai besoin d'interroger certaines données. voici la requête que j'ai construite mais qui n'est pas très bien pour moi. Pour cet exemple, j'utilise la base de données AdventureWorks.Plusieurs conditions avec les instructions 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
Cela ne fonctionne pas pour moi. Comment puis-je avoir plusieurs clauses de condition dans le THEN
du même CASE
? Comment puis-je faire ce travail?
Je me demande pourquoi j'essayais de faire cela seulement en utilisant l'instruction CASE. Je suppose que je peux l'utiliser pour construire la requête comme j'ai besoin. grâce – pavanred
C'est en fait: (!! condition1 et condition2 et condition3 et de l'état 4) condition 1 ou condition 2 ou condition 3 ou Pas de problème =) – kamahl