运行此查询时出现我尚未遇到的奇怪错误,此查询在 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)期待“加入”
没有什么叫做
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';