En the following:
(. exécution d'une requête sur le Stack Exchange Data Explorer, qui utilise une implémentation SQL Azure de OData Le FAQ dit qu'il supporte la plupart des TSQL commandes):Comment pouvez-vous utiliser des variables ou des références dans SQL?
DECLARE @MinPosts int = ##MinNumberOfPosts##
SELECT
Id AS [User Link],
Reputation,
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) AS [# Posts],
Reputation/
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) AS [Rep Per Post]
FROM Users
WHERE (SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) > @MinPosts
ORDER BY [Rep Per Post] DESC
J'écris:
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id)
trois fois. Comment puis-je créer une variable ou une fonction pour l'extrait de code ci-dessus?
J'ai essayé d'utiliser l'alias de colonne [# Posts]
, mais cela n'a pas fonctionné.
J'ai trouvé these posts sur la réutilisation d'un nom de fichier calculé pour un calcul supplémentaire, ce qui semble être ce que je veux, mais je n'arrive pas à comprendre comment l'appliquer.
Quelle saveur de SQL? –
La FAQ dit T-SQL. J'ai tagué en conséquence. – BoltClock
@BoltClock - Merci. On dirait que 'la base de données est hébergée sur SQL Azure. SQL Azure prend en charge la plupart des commandes TSQL –