D'accord, je dois créer une structure de table semblable à la mienne plus simplifiée -Requête SQL pour obtenir et mettre à jour les données d'aujourd'hui et d'hier?
Test_Table: EmployeeId,Points,Date
Test_Table1:Score,EmployeeId,Date
Leaderboards_Table: Points,Score,EmployeeId,Day,Month,Year
Maintenant je dois écrire une seule requête mettre à jour ou insérer dans quelque chose LeaderBoards_Table comme -
UPDATE Leaderboards_Table
SET Points=pts,Score=total_score
FROM
(
(SELECT
(SELECT SCORE from Test_Table1 WHERE Employee = @EmployeeId AND DAY(DATE)=10 AND MONTH(DATE)=12 AND YEAR(DATE)=2010) as pts
)
Points as pts
from Test_Table where Employee = @EmployeeId AND DAY(DATE)=10 AND MONTH(DATE)=12 AND YEAR(DATE)=2010
)
WHERE [email protected] and DAY=10 AND MONTH=12 AND YEAR=2010
Maintenant, la ci-dessus requête seulement des mises à jour pour aujourd'hui ... ce que je veux faire est également mise à jour hier également dans une seule requête, je ne veux pas écrire une autre requête .... est donc de faire une seule requête pour mettre à jour hier et points d'aujourd'hui .
MISE À JOUR: Aussi, cette requête sera appelée beaucoup de fois ... donc ce serait génial d'avoir la requête la plus efficace pour cela.
Donc, juste une question .. cette requête va être appelée plusieurs fois .. fait une jointure pas plus lente par rapport aux sous-requêtes? – Vishal
La table des classements ne contient pas non plus de colonne de date. Vous ne pouvez donc pas vous y joindre. – Vishal
@misnomer. Belle prise j'ai mis à jour la jointure –