很难为我手动转换此代码。
SELECT
Birlesmis_Data_Urun.[Kampanya Adı], DepolarTbl.[BM Adı],
DepolarTbl.[Müşteri Adı], DepolarTbl.[BM Adı],
Birlesmis_Data_Urun.KOD, Birlesmis_Data_Urun.[DEPO ADI],
Birlesmis_Data_Urun.[ECZANE GLN KODU],
Birlesmis_Data_Urun.[ECZANE ADI],
Birlesmis_Data_Urun.[Düzeltilmiş Ürün Adı] AS [Ürün Adı],
Birlesmis_Data_Urun.[SATIŞ ADET],
IIf(IsNull([KampanyaDetayTbl].[KMMF]), IIf(IsNull([KampanyaDetayTbl]![BMMF]), [Birlesmis_Data_Urun].[MF ADET], [KampanyaDetayTbl]![BMMF]),[KampanyaDetayTbl]![KMMF]) AS SonucMF,
Birlesmis_Data_Urun.[MF ADET] AS [Istenen MF],
IIf([SonucMF]=[Istenen MF],"Yok","Var") AS Duzenleme,
[Fiyat] * ([Istenen MF] - [SonucMF]) AS Tutar
FROM
((Birlesmis_Data_Urun
LEFT JOIN
KampanyaDetayTbl ON Birlesmis_Data_Urun.ID = KampanyaDetayTbl.MFID)
INNER JOIN
DepolarTbl ON Birlesmis_Data_Urun.KOD = DepolarTbl.KOD)
LEFT JOIN
UrunFiyatTbl ON (Birlesmis_Data_Urun.[Düzeltilmiş Ürün Adı] = UrunFiyatTbl.UrunAdi) AND (Birlesmis_Data_Urun.[Kampanya Adı] = UrunFiyatTbl.KampanyaAdi);
我做的事情:
!
替换为.
IsNull
替换为= ' '
例如IIf(IsNull([KampanyaDetayTbl]![BMMF]),)
- > IIf([KampanyaDetayTbl].[BMMF]=' ',)
"
替换为'
;
我收到了这个错误
Msg 207,Level 16,State 1,Line 1
列名称'SonucMF'无效。
消息207,级别16,状态1,行1 列名称'Istenen MF'无效。
消息207,级别16,状态1,行1 列名称'Istenen MF'无效。
消息207,级别16,状态1,行1 列名称'SonucMF'无效。
如何将此查询转换为SQL Server视图?
答案 0 :(得分:0)
好的,我用[tablename]。[columnname]更改了referance别名并且它有效。
答案 1 :(得分:0)
替换
iif ( condition, value_if_true, value_if_false )
到
Case when condition then value_if_true else value_if_false end