SELECT S.Id, S.Name, S.Version, S.SoftNo
FROM SOFTWARE S WITH(NOLOCK)
WHERE (IF S.Version = 0 THEN S.Version > 0 ELSE S.Version = @Version)
AND (IF S.SoftNo = 0 THEN S.SoftNo > 0 ELSE S.SoftNo = @SoftNo)
Если версия равна нулю, я хочу, чтобы список всех номеров версий был больше 0, если он не равен 0, то версия должна быть тем, что является значением.IF ELSE Statement в SQL
Это то же самое для SoftNo.
Как исправить мой SQL-запрос. Это просто не работает.
Подробнее:
Это то, что я хочу добиться:
if(Version == 0)
{
display every single rows if their version number is greater then 0;
}
else
{
Lets assume that Version is equal to 5. Then just display the rows if their Version number is equal to 5;
} // This is like a C# code of what I am trying to do in my sql query.
System.Data.SqlClient.SqlException (0x80131904): Неверный синтаксис рядом с ключевым словом «IF». Неверный синтаксис рядом с ключевым словом «THEN». Неверный синтаксис рядом с ключевым словом «THEN». –
http://stackoverflow.com/questions/63447/how-do-you-perform-an-if-then-in-an-sql-select – assylias