1
でVIEWの内側に宣言します。しかし、DECLAREはビューでは許可されていないため、このようにはできません。使用して、私はそのような何かをする必要があるSQL Serverの
誰でも、anyidea?
thx!
でVIEWの内側に宣言します。しかし、DECLAREはビューでは許可されていないため、このようにはできません。使用して、私はそのような何かをする必要があるSQL Serverの
誰でも、anyidea?
thx!
SELECT * FROM Mytable WHERE insertdate = (SELECT MAX(insertdate) FROM Mytable)
あなたもこれを行うことができます:
CREATE VIEW MyView AS
SELECT TOP (1) WITH TIES t.*
FROM Mytable t
ORDER BY CAST(insertdate as date) DESC;
insertdate
場合は、すでに日付として宣言され、その後、cast()
は必要ありません。
CREATE VIEW MyView AS
SELECT TOP (1) WITH TIES t.*
FROM Mytable t
ORDER BY insertdate DESC;
、私が推薦しますインデックスはmytable(insertdate)
です。
複数の行が同じ日付に作成された場合はどうなりますか? –
@ ColinMackay。 。 。私は「結びつき」を付け加えました。 –
これは、 'insertdate'が' NULL'の行だけがテーブルに含まれている場合、このクエリは意味的に最初のものと同じ意味ではありません。 (これはおそらく実際には* more *を返すのでうまくいくでしょう、私はこの答えが間違っていると言っているわけではありません)。 –