Sql server 错误消息102,级别15我的表别名有问题

Sql server 错误消息102,级别15我的表别名有问题,sql-server,Sql Server,我发现语法错误在附近。我确实有子查询的别名,别名是Y.Msg 102,级别15,状态1 在我从表dq.JDA_替换中添加左连接之前,这个查询已经工作了。我为每个联合体添加了3个左连接点 SELECT Y.Legacy_Company ,Y.ITEM ,C.DESCRIPTN ,C.SIZE

我发现语法错误在附近。我确实有子查询的别名,别名是Y.Msg 102,级别15,状态1

在我从表dq.JDA_替换中添加左连接之前,这个查询已经工作了。我为每个联合体添加了3个左连接点

SELECT

                     Y.Legacy_Company

                     ,Y.ITEM

                     ,C.DESCRIPTN

                     ,C.SIZE

                     ,CASE

                           WHEN C.SUBGROUP_NAME = ''

                                  THEN C.BRAND_NAME

                           ELSE C.SUBGROUP_NAME

                           END SUB_GROUP_DESC

                     ,CASE

                           WHEN C.GROUP_NAME = ''

                                  THEN (

                                         CASE

                                                WHEN C.SUBGROUP_NAME = ''

                                                       THEN C.BRAND_NAME

                                                ELSE C.SUBGROUP_NAME

                                         END

                                  )

                           ELSE C.GROUP_NAME

                     END GROUP_DESC

                     ,CASE

                           WHEN C.SUPERGROUP_NAME IS NULL

                                 THEN (

                                         CASE

                                                WHEN C.GROUP_NAME = ''

                                                       THEN (

                                                              CASE

                                                                     WHEN C.SUBGROUP_NAME = ''

                                                                           THEN C.BRAND_NAME

                                                                     ELSE C.SUBGROUP_NAME

                                                              END

                                                       )

                                                ELSE C.GROUP_NAME

                                         END

                                  )

                           ELSE C.SUPERGROUP_NAME

                     END SUPER_GROUP_DESC

                     ,C.SCC

                     ,Y.Site_State

                     ,Y.Location_ID

                    -- ,D.GS_inco

                     ,Y.Site_Nbr

                     ,Year(Y.Posting_period) * 100 + Month(Y.Posting_period) AS Posting_Period

                     ,Y.Qtytype

                     ,Y.OTC_STATUS

                     ,Y.ABC_CODE

                     ,Y.Qty



                     --  ,C1.Liters

                     --  ,C1.BTTLS_PCAS

                     , (Y.Qty * isnull(C1.Liters * C1.BTTLS_PCAS / 9, 1)) AS [9LCasesQty]

              FROM (


 SELECT

                                  'SGWS' AS Legacy_Company

                                  ,INV.ITEM AS ITEM

                                  ,SL.Site_State

--                                ,ISNULL(L.Location_ID, (Cast(INV.SITE_ID AS VARCHAR))) AS Location_ID

                                  ,INV.location_id AS Location_ID

                                  ,INV.SITE_ID AS SITE_NBR

                                  ,dateadd(day, - 1, dateadd(month, 1, cast(right(period, 2) + '/01/' + left(period, 4) AS DATE))) AS Posting_Period

                                  ,'EOM_OH_Qty' AS QtyType

                                  ,Sum(MNTH_END_OH) AS Qty


                           FROM dq.edw_monthend_inventory_os_cache INV

                           INNER JOIN (

                                  SELECT DISTINCT Site_Nbr, Site_State

                                  FROM dq.static_Location

                                  ) SL ON INV.Site_ID = SL.Site_Nbr

                           INNER JOIN scm.CI_CORPITEM C ON INV.ITEM = C.ITEM
                           LEFT JOIN (SELECT  MAX(SSN.ITEM) as ITEM
                                 ,SSN.ALTITEM
                                   ,SSN.LOC
                                FROM dq.JDA_SUPERSESSION SSN

                             WHERE

                                           SSN.STATUS_FLG ='A'
                                       GROUP BY SSN.ALTITEM, SSN.LOC )B ON 
                                       B.ITEM =INV.ITEM

                           WHERE [PERIOD] > year(dateadd(month, (0 - 37), getdate())) * 100 + month(dateadd(month, (0 - 37), getdate()))

                                  AND C.SAPSUPPLIER = 100464

                           GROUP BY INV.ITEM, SL.Site_State, INV.SITE_ID, [PERIOD], INV.Location_ID

                            UNION ALL


                           SELECT

                                  'SGWS' AS Legacy_Company

                                  ,INV.ITEM AS ITEM

                                  ,SL.Site_State

--                                ,ISNULL(L.Location_ID, (Cast(INV.SITE_ID AS VARCHAR))) AS Location_ID

                                  ,INV.location_id AS Location_ID

                                  ,INV.SITE_ID AS SITE_NBR

                                  ,dateadd(day, - 1, dateadd(month, 1, cast(right(period, 2) + '/01/' + left(period, 4) AS DATE))) AS Posting_Period

                                  ,'EOM_OO_Qty' AS QtyType

                                  ,Sum([MNTH_END_OO]) AS Qty

                           FROM dq.EDW_MONTHEND_INVENTORY_os_cache INV

                           INNER JOIN (

                                  SELECT DISTINCT Site_Nbr, Site_State

                                  FROM dq.static_Location

                                  ) SL ON INV.Site_ID = SL.Site_Nbr

                           INNER JOIN scm.CI_CORPITEM C ON INV.ITEM = C.ITEM
                           LEFT JOIN (SELECT  MAX(SSN.ITEM) as ITEM
                                 ,SSN.ALTITEM
                                   ,SSN.LOC
                                FROM dq.JDA_SUPERSESSION SSN

                             WHERE

                                           SSN.STATUS_FLG ='A'
                                       GROUP BY SSN.ALTITEM, SSN.LOC )B ON 
                                       B.ITEM =INV.ITEM



                           WHERE [PERIOD] > year(dateadd(month, (0 - 37), getdate())) * 100 + month(dateadd(month, (0 - 37
), getdate()))

                                  AND C.SAPSUPPLIER = 100464

                           GROUP BY INV.ITEM, SL.Site_State, INV.SITE_ID, [PERIOD], INV.Location_ID

                            UNION ALL

                           SELECT

                                  'SGWS' AS Legacy_Company

                                  ,SD.CORP_ITEM_NO AS ITEM

                                  ,SL.Site_State

--                                ,ISNULL(L.Location_ID,(Cast(SD.SITE AS VARCHAR))) AS Location_ID

                                  ,SD.location_id AS Location_ID

                                  ,SD.SITE AS Site_NBR

                                  ,dateadd(day, - 1, dateadd(month, 1, cast(right(SD.POSTING_Prd, 2) + '/01/' + left(SD.POSTING_Prd, 4) AS DATE))) AS Posting_Period

                                  ,'Sales' AS QtyType

                                  ,Sum(SD.QTY_DEC_EQU) AS Qty

                           FROM dq.EDW_SALES_DETAIL_CACHE SD

                           INNER JOIN scm.CI_CORPITEM C ON SD.CORP_ITEM_NO = C.ITEM
                             LEFT JOIN 

                                  (SELECT  MAX(SSN.ITEM) as ITEM
                                 ,SSN.ALTITEM
                                   ,SSN.LOC
                                FROM dq.JDA_SUPERSESSION SSN

                             WHERE

                                           SSN.STATUS_FLG ='A'
                                       GROUP BY SSN.ALTITEM, SSN.LOC )B ON 
                                       B.ITEM = SD.CORP_ITEM_NO
                           INNER JOIN (

                                  SELECT DISTINCT Site_Nbr, Site_State

                                  FROM dq.static_Location

                                  ) SL ON SD.Site = SL.Site_Nbr



                           WHERE SD.POSTING_Prd > year(dateadd(month, (0 - 37), getdate())) * 100 + month(dateadd(month, (0 - 37), getdate()))

                                  AND C.SAPSUPPLIER = 100464

                           GROUP BY SD.Location_ID, SD.CORP_ITEM_NO, SD.POSTING_Prd, SL.Site_State, SD.SITE  ) A

                   LEFT JOIN dq.JDA_SKU_SOURCING SK ON A.ITEM = SK.ITEM

                       AND A.Location_ID = SK.DEST )Y


              LEFT JOIN (

                     SELECT I.Item, I.DESCRIPTN, I.Size, I.BTTLS_PCAS, SC.LITERS, I.BRAND_NAME, I.SUBGROUP_NAME, I.GROUP_NAME, I.SUPERGROUP_NAME, I.SAPSUPPLIER, I.SUPP_NAME, I.SCC, I.UPC

                     FROM scm.CI_CORPITEM I

                     LEFT JOIN dq.STATIC_9L_CONV SC ON I.Size = SC.size

                     ) C1 ON Y.ITEM = C1.ITEM

              LEFT JOIN scm.CI_CORPITEM C ON Y.Item = C.Item

没有错误。像以前一样运行。

一些格式会很快发现问题。没有明显的原因,下面的行有Y

AND A.Location_ID = SK.DEST )Y

当我取Y时,我得到一个更大的错误-msg 209不明确的列名,然后修复不明确的列名。任何人都几乎不可能调试您的查询,因为我们不知道您的表结构是什么,也不知道您试图实现什么。谢谢。很高兴你找到了答案。因为这是一个语法错误,我投票决定结束。