错误的querry [英] error querry

查看:154
本文介绍了错误的querry的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,我想知道这个问题出了什么问题它告诉我一个错误,告诉错误的语法接近=在行

hello , please i want to khnow what is wrong with this querry it show me an error telling incorrect syntax near = in line

" ;然后[频道类型ID] = 3"  

此处我的烦恼 

here my querry 

with  

pdt
as
SELECT
  cast [GMID]
as nvarchar 50 ))
as GMID

pdt as ( SELECT  cast([GMID] as nvarchar(50)) as GMID

     
< span style ="color:grey">,
cast [ANNEE]
as 整数
as annee

      ,cast([ANNEE] as integer ) as annee

     
mois_chiffre
mois

      , mois_chiffre , mois

       [机构AO]

      ,[Institution AO]

     
[零售AO]

 
FROM [SANOFI_SANA] [ dbo] [ODS PRODUIT AO]

  FROM [SANOFI_SANA].[dbo].[ODS PRODUIT AO] ) ,

inv
as

inv as (

SELECT [INVOICE_LINE_ITEM_ID]

      
[INVOICE_ID]

      ,[INVOICE_ID]

     
[CUSTOMER_ORDER_LINE_ITEM_ID]

      ,[CUSTOMER_ORDER_LINE_ITEM_ID]

     
[GMID]

      ,[GMID]

     
[CHANNEL_TYPE_ID]

      ,[CHANNEL_TYPE_ID]

     
year [INVOICE_CREATION_DATE]
as annee
month
[INVOICE_CREATION_DATE]
mois

      ,year([INVOICE_CREATION_DATE]) as annee , month([INVOICE_CREATION_DATE]) as mois

      

     

  来自   [SANOFI_SANA] [ dbo] [DWH_CUSTOMER_INVOICE_LINE_ITEM]

 from   [SANOFI_SANA].[dbo].[DWH_CUSTOMER_INVOICE_LINE_ITEM]

  

  选择

   case
何时

  case when

   [CHANNEL_TYPE_ID] = 4

   [CHANNEL_TYPE_ID]= 4 and

   [Institution AO] =
'1'

  [Institution AO]= '1'

   然后 inv [CHANNEL_TYPE_ID]
= 3

  then inv.[CHANNEL_TYPE_ID] = 3

 
何时   [CHANNEL_TYPE_ID] = 1
[Retail AO] =
'1'
然后 [CHANNEL_TYPE] = 2
else   [CHANNEL_TYPE_ID] 
end
  as test

  when   [CHANNEL_TYPE_ID]= 1 and [Retail AO]= '1' then [CHANNEL_TYPE]= 2 else  [CHANNEL_TYPE_ID]  end  as test

 

 

  来自 inv 

 from inv 

    inner
join pdt

   inner join pdt

    on inv GMID
= pdt [GMID] 
inv annee = pdt [ANNEE]
inv mois = pdt mois_chiffre 

   on inv.GMID = pdt.[GMID]  and inv.annee= pdt.[ANNEE] and inv.mois= pdt.mois_chiffre 

谢谢 

推荐答案

有一个缺失的大括号)

there's a missing close braces )

即喜欢

with 

pdt as ( SELECT  cast([GMID] as nvarchar(50)) as GMID

      ,cast([ANNEE] as integer ) as annee

      , mois_chiffre , mois

      ,[Institution AO]

      ,[Retail AO]

  FROM [SANOFI_SANA].[dbo].[ODS PRODUIT AO] ) ,

inv as (

SELECT [INVOICE_LINE_ITEM_ID]

      ,[INVOICE_ID]

      ,[CUSTOMER_ORDER_LINE_ITEM_ID]

      ,[GMID]

      ,[CHANNEL_TYPE_ID]

      ,year([INVOICE_CREATION_DATE]) as annee , month([INVOICE_CREATION_DATE]) as mois

      

     

 from   [SANOFI_SANA].[dbo].[DWH_CUSTOMER_INVOICE_LINE_ITEM]

  )

 select

  case when

   [CHANNEL_TYPE_ID]= 4 and

  [Institution AO]= '1'

  then inv.[CHANNEL_TYPE_ID] = 3

  when   [CHANNEL_TYPE_ID]= 1 and [Retail AO]= '1' then [CHANNEL_TYPE]= 2 else  [CHANNEL_TYPE_ID]  end  as test

 

 

 from inv 

   inner join pdt

   on inv.GMID = pdt.[GMID]  and inv.annee= pdt.[ANNEE] and inv.mois= pdt.mois_chiffre 


这篇关于错误的querry的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆