2

SQL クエリでこの問題が発生しました (SQL Server 2008)

SELECT id, client, SUM(debt), date
FROM Table GROUP BY id, client, date

クエリから返されるのは

id client debt date
1  jim x  500  05/05/2012
2  jack a 900  06/06/2012
2  jack a 500  null

このシナリオにジャック a の借金 (1400) を追加し、null 以外の日付、つまり 06/06/2012 を表示する方法はありますか。

人は最大2つのレコードしか持つことができず、1つのレコードは常に日付がnullであるため、合計を実行してnullではない日付を使用する方法はありますか?

ありがとう

4

1 に答える 1

4

クライアントごとにグループ化するには、GROUP BY から削除する必要がidあります。date

SELECT
    MAX(id) AS newest_id,    -- or MIN(id) if you prefer
    client,
    SUM(debt) AS total_debt,
    MAX(date) AS most_recent -- or MIN(date) if you prefer
FROM YourTable
GROUP BY client
于 2012-07-17T17:08:50.287 に答える