Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Need Having clause
Message
 
 
À
26/07/2010 23:06:16
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2008
Application:
Web
Divers
Thread ID:
01474071
Message ID:
01474075
Vues:
55
>I have this SQL:
>
>
>DECLARE @NoSite Integer
>DECLARE @NoAlbum Integer
>
>SET @NoSite=2
>SET @NoAlbum=0
>
>SELECT TOP 3 Event.Title,Event.Url,Event.NoProvince,Province.Code,Event.City,Event.Date,Event.NoCompany,
> Company.Title AS Company,Event.Url,Event.NoAlbum,Album.Url AS AlbumUrl,
> (SELECT COUNT(*) FROM Photo WHERE Album.Numero=Photo.NoAlbum) AS PhotoCount
> FROM Event (NOLOCK)
> LEFT JOIN Province ON Event.NoProvince=Province.Numero
> LEFT JOIN Company ON Event.NoCompany=Company.Numero
> INNER JOIN Album ON Event.NoAlbum=Album.Numero
> WHERE Event.NoSite=@NoSite AND Event.NoAlbum>@NoAlbum
> ORDER BY Event.Date DESC 
>
>
>I need to adjust it so to add a condition on PhotoCount>=7. I thought Having would do it but this doesn't work.

Try
SELECT TOP 3 Event.Title,Event.Url,Event.NoProvince,Province.Code,Event.City,Event.Date,Event.NoCompany,
 Company.Title AS Company,Event.Url,Event.NoAlbum,Album.Url AS AlbumUrl,
 F.PhotoCount
 FROM Event (NOLOCK)
 LEFT JOIN Province ON Event.NoProvince=Province.Numero
 LEFT JOIN Company ON Event.NoCompany=Company.Numero
 INNER JOIN Album ON Event.NoAlbum=Album.Numero
CROSS APPLY (SELECT COUNT(*) FROM Photo WHERE Album.Numero=Photo.NoAlbum) F
 WHERE Event.NoSite=@NoSite AND Event.NoAlbum>@NoAlbum
  AND F.PhotoCount >=7
 ORDER BY Event.Date DESC 
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform