无法绑定多部分标识符“”

时间:2019-09-25 11:12:28

标签: sql

我得到一个错误:

  

无法绑定多部分标识符“ archivebook.idarchivestorage”。

    SELECT barcode
         , name
         , code
         , yearfrom
         , yearto
         , archivenumber
         , c.line
         , c.regal
         , c.shelf 
      FROM archivebook AS A  
INNER JOIN archiveclassifications AS B  
           ON A.idclassification = B.id 
           AND dateofstatus <= '2019/09/26' 
           AND dateofstatus >= '2019/09/24' 
INNER JOIN administration.dbo.ArchiveStorage C 
           ON archivebook.idarchivestorage = C.id

1 个答案:

答案 0 :(得分:2)

您已经为表名分配了别名。 使用它们

select ?.barcode, ?.name, ?.code, ?.yearfrom, ?.yearto, ?.archivenumber,
       ars.line, ars.regal, ars.shelf
from archivebook ab join
     archiveclassifications ac
     on ab.idclassification = ac.id and
        ?.dateofstatus <= '2019-09-26' and
        ?.dateofstatus >= '2019-09-24' inner join 
        administration.dbo.ArchiveStorage ars
        on ab.idarchivestorage = ars.id;

?用于适当的表别名。您应限定所有 all 列引用,特别是当查询引用多个表时。这是一个养成的好习惯,因此,如果您正在学习SQL,就显得尤为重要。

请注意,我更改了别名,因此它们是表名的适当缩写。这样可以更轻松地阅读和维护查询。