У меня есть запрос select. Я хочу заменить этот запрос select другим, если он не возвращает строк.SQL Select - возвращает как один
Например позволяет сказать, что у меня есть:
Select * from Temp2
if (@@rowcount=0)
select * from Temp1
В C# конец, я получить его в качестве набора данных. Поэтому, если строки не возвращаются, это сделает другой выбор. Но этот выбор будет в таблицах [1], а не в таблицах [0].
По существу, я хочу, чтобы заменить первые результаты выбора в sql хранимой процедуре последним, если @@ rowcount = 0. Я уверен, что это можно сделать. Я хочу использовать аккуратное решение.
я могу сделать что-то вроде этого:
if ((select count(ID) from Temp2) =0)
select * from Temp1
else
select * from Temp2
, но у меня есть 3 выбирает. Я хотел бы сделать это с max 2 selects, потому что мой оператор select более сложный, чем приведенный тривиальный пример, и мне не нравится повторять тот же выбор дважды (например, выберите Temp2).
Благодаря
+ 1 ура .. союз все это сделал ... так temp2 не будет иметь значения TEMP1, нет никакого смысла последнего, где ... Большое спасибо :) – waqasahmed
хорошо, но если вы удалите где он всегда будет возвращать строки формы Temp1, даже если в Temp2 есть строки; которая отличается от логики, которую вы имели в своем первоначальном вопросе. –
Я знаю .. мои операторы select имеют предложение where, чтобы отфильтровать результаты .. и он никогда не вернет результат, когда строка в одном select также существует как строка в другом select. – waqasahmed