QUERY1
UNION ALL
QUERY2
WHERE NOT EXISTS (QUERY1)
напр.:
SELECT id
FROM products
UNION ALL
SELECT id
FROM old_products
WHERE NOT EXISTS (SELECT id FROM products)
Заявка:
SELECT *
FROM Table
WHERE ID = 7
AND Flag = 1
UNION ALL
SELECT *
FROM Table
WHERE ID = 7
AND NOT EXISTS (select * from Table where ID = 7 and Flag = 1)
За да идентифицирате уникални редове, можете да опитате и това:
WITH qry AS
(
SELECT a.* ,
ROW_NUMBER() OVER(PARTITION BY id ORDER BY Flag DESC ) rn
FROM Table a
WHERE ID = 7 -- THIS CAN BE PARAMETERIZED
)
SELECT *
FROM qry
WHERE rn = 1