SQL Server 2012で次のようなことを行うことはできますか?
IF EXISTS (
WITH DATA AS (
SELECT *,
ROW_NUMBER() OVER(PARTITION BY column ORDER BY Column) AS rn
FROM table )
SELECT *
FROM DATA
WHERE rn = 2 )
BEGIN
...
END
この構文を使用しようとすると、エラーが発生しました。これが不可能な場合、一時テーブルを使用することがこれを達成するための最良の方法でしょうか?
BOL-共通テーブル式の作成と使用に関するガイドラインからはできません。一時テーブルを使用するのが最適です。
—
Kin Shah
なんで
—
ypercubeᵀᴹ
IF EXISTS (SELECT * FROM table)
?
@ypercube私が提供した例は、私が使用しているクエリの正確なレプリカではありません-テーブルに行があるかどうかを確認すると、私が試みているものでは不十分です。私はそれがもっと正確だったと思います
—
Weston Sankey
WHERE rn = 2
そして、あなたも言うことができる
—
アーロン・ベルトラン
IF EXISTS (SELECT column FROM dbo.table GROUP BY column HAVING COUNT(*)>1)