私のデータベースからの最新の入力のみを選択したいと思います。 SQL - NVARCHAR列の最新の最大日付を選択してください
は現在、それは常に私がSELECT
A.[Id],
UD.[Name],
MAX(CONVERT(DATE, AN.[PostedOn])) 'date',
CAST(AN.[Content] AS NVARCHAR(MAX)) 'comment'
FROM
[dbo].[Account] A
LEFT JOIN
[dbo].[UserData] UD ON A.[UserId] = UD.UserId
LEFT JOIN
[dbo].[Note] AN ON UD.[UserId] = AN.[CustomerID]
GROUP BY
A.[Id], UD.[Name], CAST(AN.[Content] AS NVARCHAR(MAX))
現在のクエリ結果
+---------+------------------------+------------+-------+
|id |Name |Date |Comment|
+---------+------------------------+------------+-------+
|01 |John |2017-08-15 |Blue |
|01 |John |2017-07-10 |Green |
|02 |Bob |2017-07-15 |Green |
|02 |Bob |2017-06-05 |Red |
|03 |Eric |2017-08-15 |Yellow |
|04 |Karl |2017-08-15 |NULL |
|04 |Karl |2017-06-10 |Black |
+---------+------------------------+------------+-------+
期待/望まれる結果の最大
簡易版を使用してフィルタリングしていても、すべてのコメントを与えます:
+---------+------------------------+------------+-------+
|id |Name |Date |Comment|
+---------+------------------------+------------+-------+
|01 |John |2017-08-15 |Blue |
|02 |Bob |2017-07-15 |Green |
|03 |Eric |2017-08-15 |Yellow |
|04 |Karl |2017-08-15 |NULL |
+---------+------------------------+------------+-------+
FYI私の質問からCAST(AN.[Content] AS NVARCHAR(MAX)) 'comment'
を削除すると、重複する名前/ IDはもう表示されません。(ただしコメントはありません)
ご存知ですか?
使用しているdbmsにタグを付けてください。いくつかの製品仕様があります。 – jarlh