Таким образом, я относительно новичок в TSQL от Microsoft и пытаюсь написать простой сценарий, основывающий оператор IF на том, больше или меньше сумма столбца TransactionTotal, чем сумма суммы RepairCost за предыдущие 7 дней.
USE MyBusinessDatabase
DECLARE @TotalSales money
DECLARE @TotalServices money
DECLARE @WeekPast date
SELECT @WeekPast = DATEADD(day, -7, GetDate())
Теперь, следующие утверждения Select / Где - это то, где моя проблема.Операторы Select, которые определяют мои переменные TotalSales и TotalServices, работают нормально, пока я не добавлю операторы 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 ужасно избыточным и скучным, и я рад от него избавиться!Я чувствую, что могу наслаждаться этим, но я действительно боролся с классом, потому что он был задним числом с моим алгоритмом и математическими курсами, пожирающими мое время.