Ответ 1
IF EXISTS (SELECT field FROM table)
BEGIN
SELECT field FROM table2
END
ELSE
BEGIN
SELECT field FROM table3
END
В принципе, какой syntex позволил бы мне получить название?
If (select statement 1) returns 0 rows THEN (select statement 2) else (select statement 3)
Итак, sql возвращает результаты из двух или трех операторов: Я искал способ сделать это, но ничего, что я нашел до сих пор, похоже, точно соответствует требованиям if.
IF EXISTS (SELECT field FROM table)
BEGIN
SELECT field FROM table2
END
ELSE
BEGIN
SELECT field FROM table3
END
Извините за отсутствие обратной связи. Кто-то еще в офисе проявил интерес и придумал следующее:
select * from (
select *
, (SELECT Count(*)
FROM users
WHERE version_replace = 59 AND moderated = 1) AS Counter
FROM users WHERE version_replace = 59 AND moderated in (0,1)
) AS y
where Counter = 0 and Moderated = 0
or Counter > 0 and Moderated = 1
ORDER By ID DESC
Что делает то, что мне нужно.
Здесь вы идете...
IF ((select count(*) from table1)= 0)
BEGIN
Select * from table2
END
ELSE
BEGIN
SELECT * from table3
END