行が作成された最新の日付を返すクエリがあります。日付は「2010-02-03」
SELECT * FROM
[LinkedServer].[Server].[Table]
WHERE [TimeStamp]= (SELECT MAX(TimeStamp)
FROM [LinkedServer].[Server].[Table]
WHERE UserName IN
(SELECT Tagname COLLATE DATABASE_DEFAULT FROM LocalServer.MyDatabase.dbo."Taglist"
WHERE LOCATION = 'Europe' AND COUNTRY = 'England'))
このクエリは問題なく動作しますが、IF ELSE ステートメントを挿入したいので、IF I SELECT で MAX(TimeStamp) より大きい別の日付を選択すると、エラー メッセージが返されます。私が試した方法は次のとおりです。
IF MAX(TimeStamp) > '2011-02-15'
BEGIN
SELECT * FROM
[LinkedServer].[Server].[Table]
WHERE [TimeStamp]= (SELECT MAX(TimeStamp)
FROM [LinkedServer].[Server].[Table]
WHERE UserName IN
(SELECT Tagname COLLATE DATABASE_DEFAULT FROM LocalServer.MyDatabase.dbo."Taglist"
WHERE LOCATION = 'Europe' AND COUNTRY = 'England'))
END
ELSE
PRINT 'Date out of range'
残念ながら、この方法ではクエリは機能しません。コードをどこで変更する必要があるかについての提案はありますか? ありがとうございました!