¿Es posible hacer algo similar a lo siguiente en 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
Intenté usar esta sintaxis y recibí un error. Si esto no es posible, ¿usar una tabla temporal sería la mejor manera de lograr esto?
De BOL - Directrices para crear y usar expresiones de tabla comunes , no puede. Lo mejor es usar la tabla temporal .
—
Kin Shah
¿Por qué no
—
ypercubeᵀᴹ
IF EXISTS (SELECT * FROM table)
?
@ypercube El ejemplo que proporcioné no es una réplica exacta de la consulta con la que estoy trabajando: ver si las tablas tienen filas no sería suficiente en lo que estoy intentando. Supongo que hubiera sido más exacto decirlo
—
Weston Sankey
WHERE rn = 2
Entonces también podría decir
—
Aaron Bertrand
IF EXISTS (SELECT column FROM dbo.table GROUP BY column HAVING COUNT(*)>1)