9
votes

Déclaration de cas dans la clause dans SQL

Puis-je avoir une déclaration de cas dans un avoir Clause de SQL Server 2005?

ci-dessous est mon ayant instruction. Il me donne une erreur de syntaxe. xxx

merci,

amit

sql

0 commentaires

3 Réponses :


4
votes

Oui, c'est une syntaxe valide. Cependant, Les types de données texte, image et Ntext ne peuvent pas être utilisés dans un Ayant clause .

Mise à jour: Votre exemple mis à jour n'a pas de sens. client.oh_pk=@clientpk_new ou non, le reste de l'instruction est hors de propos, à moins que vous n'utilisiez un ou . Peut-être que vous pouvez expliquer la logique de businging?


0 commentaires

21
votes

exemple (de ici ) :

USE AdventureWorks2008R2;
GO
SELECT JobTitle, MAX(ph1.Rate)AS MaximumRate
FROM HumanResources.Employee AS e
JOIN HumanResources.EmployeePayHistory AS ph1 
    ON e.BusinessEntityID = ph1.BusinessEntityID
GROUP BY JobTitle
HAVING (MAX(CASE WHEN Gender = 'M' 
        THEN ph1.Rate 
        ELSE NULL END) > 40.00
     OR MAX(CASE WHEN Gender  = 'F' 
        THEN ph1.Rate  
        ELSE NULL END) > 42.00)
ORDER BY MaximumRate DESC;


1 commentaires

Merci pour ça. J'ai ajouté le morceau de code qui me donne une erreur de syntaxe et je ne peux pas comprendre ce qui ne va pas avec ça. s'il vous plaît donnez votre avis



-1
votes

Un autre exemple de ici .. xxx


0 commentaires