sql >> Databáze >  >> RDS >> Sqlserver

Použití IF EXISTS s CTE

Z MSDN

Může být přepsán takto

WITH ADMISSION_OUTSIDE AS 
(   .....
.....
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM ADMISSION_OUTSIDE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM ADMISSION_OUTSIDE)

Zde je ukázka

;WITH CTE AS
(
SELECT 1 as a WHERE 1=0
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE)

Výsledek: NOT OK

;WITH CTE AS
(
SELECT 1 as a WHERE 1=1
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE)

Výsledek: OK



  1. Návrh databáze:jaký má smysl identifikace cizích klíčů?

  2. PostgreSQL Connection Pooling:Část 1 – Klady a zápory

  3. Jak přidat sloupec identity do tabulky pomocí TSQL a GUI v SQL Server - SQL Server / Výukový program T-SQL, část 40

  4. JOIN na úrovni aplikace pomocí WHERE a ORDER BY na N fragmentech postgresql