さてさて、私は私より簡略化と同様のテーブル構造を作成する必要があります -今日のデータと昨日のデータを取得して更新するSQLクエリ?
Test_Table: EmployeeId,Points,Date
Test_Table1:Score,EmployeeId,Date
Leaderboards_Table: Points,Score,EmployeeId,Day,Month,Year
今、私のようなもの更新またはLeaderBoards_Tableに挿入する単一のクエリを記述する必要がある -
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
を今すぐ上記のクエリは今日のアップデートのみです...私がやりたいことは昨日もアップデートしています もう1つのクエリを書いてはいけません....とにかく昨日と今日のポイントを更新するために。
UPDATE:このクエリも多くの時間と呼ばれます。このため、このクエリは最も効果的なクエリです。
この質問はサブクエリに比べて遅くならないので、ちょっと質問があります。 – Vishal
また、leaderboardsテーブルには日付カラムがありません。それには参加できません。 – Vishal
@misnomer。ニースキャッチ私は結合を更新しました –