Asif.Shaikh96614@gmail.com Ответов: 2

Как определить условия IF и else в SQL


У меня есть вопрос у меня есть столбец в моей таблице доход , стоимость , Order_Type,

У меня есть условие, если Order_Type = 'Success', то (доход - стоимость) должен отображаться
И если тип такой степени, будто содержится "возврат" затем (выручка * -1) и (стоимость * -1) должно отображаться в качестве маржи
Как я это делаю, может ли кто-нибудь помочь в SQL.

Примечание - Order_type есть Multi-PAL тип возврата, как ОАЭ-возвращение, ае-возвращение, АБВ-вернуть, как это я просто хочу, если Order_Type содержит возвращаемое значение, то вышеуказанное условие должно работать.

Что я уже пробовал:

Declare @OrderType Varchar(Max) = 'Return'



IF CHARINDEX ('Return',@OrderType)> 0
Begin 
Select Revenue * -1 & Cost * -1 ,Sales_Man,Order_Date,Order_Type
From ERP_Source_Table
END
ELSE 
Begin
Select Revenue - Cost 
From ERP_Source_Table
END
 
 Select * from ERP_Source_Table

2 Ответов

Рейтинг:
2

Patrice T

Вот хороший обучающий сайт:
Оператор SQL CASE[^]
SQL Server: если...Еще заявление[^]


Рейтинг:
0

OriginalGriff

Ты имеешь в виду вот так:

DECLARE @OrderType VARCHAR(MAX) = 'Returns'
IF @OrderType = 'Success' 
   SELECT Revenue - Cost FROM MyTable
ELSE IF @OrderType = 'Return'
   SELECT Revenue * -1, Cost * -1 FROM MyTable
ELSE
   SELECT * MyTable


_Asif_

DECLARE @OrderType VARCHAR(MAX) = 'AE-Return'
IF @OrderType = 'Success'
Выберите Доход - Стоимость Из ERP_Source_Table
ELSE IF CHARINDEX ('Return',@OrderType) > 0
Выберите Доход * -1 , Стоимость * -1 ,Sales_Man,Order_Date,Order_Type Из ERP_Source_Table
ЕЩЕ
Выберите * из ERP_Source_Table

Если быть точным!