缺少表的FROM子句条目

Ola*_*dan 45 sql postgresql

我试图使用inner join以下查询使用视图和表

SELECT 
   AcId, AcName, PldepPer, RepId, CustCatg, HardCode, BlockCust, CrPeriod, CrLimit, 
   BillLimit, Mode, PNotes, gtab82.memno 
FROM
   VCustomer 
INNER JOIN   
   vcustomer AS v1 ON gtab82.memacid = v1.acid 
WHERE (AcGrCode = '204' OR CreDebt = 'True') 
AND Masked = 'false'
ORDER BY AcName
Run Code Online (Sandbox Code Playgroud)

而错误是

missing FROM-clause entry for table "gtab82"
Run Code Online (Sandbox Code Playgroud)

Pat*_*ick 29

SELECT 
   AcId, AcName, PldepPer, RepId, CustCatg, HardCode, BlockCust, CrPeriod, CrLimit, 
   BillLimit, Mode, PNotes, gtab82.memno 
FROM
   VCustomer AS v1
INNER JOIN   
   gtab82 ON gtab82.memacid = v1.AcId 
WHERE (AcGrCode = '204' OR CreDebt = 'True') 
AND Masked = 'false'
ORDER BY AcName
Run Code Online (Sandbox Code Playgroud)

由于连接表中的列名称重复且表名为long或表连接到自身,因此在需要使用表名称为列添加前缀时,通常只使用表名的别名.在您的情况下,您使用别名VCustomer但仅ON出于不确定的原因仅在该子句中使用它.您可能希望查看代码的这一方面.


znu*_*rgl 11

因为gtab82表不在FROM或JOIN子句中.在这些情况下,您可以引用gtab82表:gtab82.memno和gtab82.memacid