sql >> データベース >  >> RDS >> Sqlserver

SQL クエリ集計が WHERE 句に表示されない場合がある

    HAVING を使用します GROUP BY が必要なエラー メッセージで示唆されているように :

    SELECT
        SUM(M1.InvoiceTotal)-SUM(M1.AmountApplied) as PastDueAmount, 
        M1.BillingID, M2.Name, 
        M2.DelinquentDaysThreshold, M2.DelinquentAmountThreshold,
        DATEDIFF(d, MIN(BillingDate),GETDATE()) as DaysLate
    FROM
        Invoices M1
        LEFT JOIN
        ClientAccounts M2 ON M1.BillingID = M2.ID
    WHERE
        InvoiceTotal <> AmountApplied
        AND
        M2.DelinquentDaysThreshold > DATEDIFF(d, MIN(BillingDate),GETDATE())
    GROUP BY
        M1.BillingID, M2.Name, 
        M2.DelinquentDaysThreshold, M2.DelinquentAmountThreshold,
        DATEDIFF(d, MIN(BillingDate),GETDATE())
    HAVING
        (SUM(M1.InvoiceTotal)-SUM(M1.AmountApplied)) > M2.DelinquentAmountThreshold
    


    1. MicrosoftTreeViewControlチュートリアル

    2. SQLで同じ行に異なる値を持つ列をどうやって処理するのですか?

    3. Oracle DatabaseConfigurationAssistantを使用して空のデータベースを作成する

    4. 選択されたmysql列挙型のphp関数