尝试使用 join 聚合数据并得到奇数输出

问题描述 投票:0回答:1

运行此查询时出现我尚未遇到的奇怪错误,此查询在 Netezza 中执行

      SELECT    a.CALENDAR_DATE,
  b.NewBusinessUnit,
  b.ResellerID,
  b.ResellerName,
  a.PRODUCT,
  a.CLI
  FROM  
  dbo.ADMIN.ODS_DICECNT_TTB_OUTPUT_ONE a
  left inner join ODS_LAYER.ADMIN.ODS_OSS_BFD_BFDAGENT AS C  A.agentid = C.AGENTID
  left inner join ODS_LAYER.ADMIN.ODS_DISECNT_NETWORK_CLI_TEST  b on C.AGENTID = b.ResellerID 
  WHERE NewBusinessUnit <> 'Inter-Co'
  AND b.NewBusinessUnit = 'Business Wholesale'

产生以下错误

状态:错误


SELECT a.CALENDAR_DATE, b.NewBusinessUnit, b.ResellerID, b.经销商名称, 一个产品, 一个.CLI 来自
dbo.ADMIN.ODS_DICECNT_TTB_OUTPUT_ONE 一个 左内连接 ODS_LAYER.ADMIN.ODS_OSS_BFD_BFDAGENT AS C A.agentid = C.AGENTID 左内连接 ODS_LAYER.ADMIN.ODS_DISECNT_NETWORK_CLI_TEST b on C.AGENTID = b.ResellerID WHERE NewBusinessUnit <> 'Inter-Co' AND b.NewBusinessUnit = '商业批发'


210 毫秒 2023-03-24T11:36:39.077Z


(SQLSTATE: HY000, SQLCODE: 1100): ERROR: 'SELECT a.CALENDAR_DATE, b.NewBusinessUnit, b.ResellerID, b.ResellerName, a.PRODUCT, a.CLI FROM dbo.ADMIN.ODS_DICECNT_TTB_OUTPUT_ONE 左内连接 ODS_LAYER。 ADMIN.ODS_OSS_BFD_BFDAGENT AS C A.agentid = C.AGENTID left inner join ODS_LAYER.ADMIN.ODS_DISECNT_NETWORK_CLI_TEST b on C.AGENTID = b.ResellerID WHERE NewBusinessUnit <> 'Inter-Co' AND b.NewBusinessUnit = 'Business Wholesale'' 错误^找到“INNER”(在字符 141)期待“加入”

sql sql-server tsql ssms netezza
1个回答
1
投票

没有什么叫做

left inner join

你应该把它改成

left join

left join
是一个
outer join
.

所以你甚至可以改成left outer join

SELECT a.CALENDAR_DATE, 
       b.NewBusinessUnit, 
       b.ResellerID, 
       b.ResellerName, 
       a.PRODUCT, 
       a.CLI 
FROM   dbo.ADMIN.ODS_DICECNT_TTB_OUTPUT_ONE a 
       LEFT JOIN ODS_LAYER.ADMIN.ODS_OSS_BFD_BFDAGENT AS C 
              ON A.agentid = C.AGENTID 
       LEFT JOIN ODS_LAYER.ADMIN.ODS_DISECNT_NETWORK_CLI_TEST b 
              ON C.AGENTID = b.ResellerID 
WHERE  NewBusinessUnit <> 'Inter-Co' 
       AND b.NewBusinessUnit = 'Business Wholesale';
© www.soinside.com 2019 - 2024. All rights reserved.