J'essaie d'obtenir la différence de deux requêtes sum(). C'est l'idée du code que j'essaie de comprendre. J'ai essayé de déclarer des variables mais je n'ai pas réussi à obtenir le résultat du select dans les variables. Y a-t-il une manière de faire ça?Mathématiques sur deux requêtes scalaires dans SQL
1
A
Répondre
1
Il suffit de mettre un SELECT
devant:
SELECT (SELECT sum(depamt) FROM Daily1) - (SELECT sum(depamt) FROM Daily2);
Je préfère mettre les sous-requêtes dans la clause FROM
:
SELECT sum1 - sum2
FROM (SELECT sum(depamt) as sum1 FROM Daily1) x CROSS JOIN
(SELECT sum(depamt) as sum2 FROM Daily2) y;
Cela vous permet de choisir chaque valeur individuellement, si vous le souhaitez.
1
J'ai essayé de déclarer des variables mais je n'ai pas pu obtenir le résultat de la sélection dans les variables. Y a-t-il une manière de faire ça?
Pour ce faire en utilisant des variables:
Declare @Sum1 int, @Sum2 int
SELECT @Sum1 = sum(depamt) FROM Daily1
SELECT @Sum2 = sum(depamt) FROM Daily2
Select @Sum1 - @Sum2
Merci, Gordon. Pourquoi utiliseriez-vous la jointure croisée? Juste pour que vous ayez les résultats des deux requêtes ensemble? – Missy
@Missy. . . Cela vous permet de voir chaque valeur dans le calcul si vous le souhaitez, sans répéter la sous-requête. –
Merci, Gordon. J'apprécie ton aide :) – Missy