MicrosoftのTSQLには比較的新しいので、TransactionTotal列の合計がRepairCostの合計よりも大きいか小さいかをIF文に基づいた簡単なスクリプトを記述しようとしています。前の7日間。WHERE句を使用した変数宣言
USE MyBusinessDatabase
DECLARE @TotalSales money
DECLARE @TotalServices money
DECLARE @WeekPast date
SELECT @WeekPast = DATEADD(day, -7, GetDate())
ここで、次のSelect/Whereステートメントは私の問題がどこにあるかを示します。私のTotalSalesとTotalServices変数を定義するSelect文は、Where文を追加するまでうまく動作します。これらは私が学んだことから私には正しいと思うが、私のIFステートメントはコードに追加すると機能しなくなる。
SELECT @TotalSales = SUM(TransactionTotal) FROM Sales
WHERE TransactionDate <> NULL AND PaymentDate > @WeekPast
SELECT @TotalServices = SUM(PaymentTotal) FROM ServiceInvoices
WHERE PaymentDate <> NULL AND PaymentDate > @WeekPast
IF @TotalSales > @TotalServices
PRINT 'Total Sales > Total Services'
IF @TotalSales < @TotalServices
PRINT 'Total Sales < Total Services'
IF @TotalSales = @TotalServices
PRINT 'Total Sales = Total Services'
ありがとうございました。私は何かを明確にすることができますか教えてください! PS私のデータ構造C/C++クラスの大ファンとして、私はこのSQLデータベースクラスがひどく冗長で退屈であることを発見し、それを取り除くことがうれしいです!私はそれを楽しむことができると思っていますが、私のアルゴリズムと数学のコースでは時間を食い物にしているので、クラスには本当に苦労しました。
「IS NOT NULL」ではなく、「<>」ではありません – JonH
私のコメントは以下の通りですか? – JonH