【问题标题】:Invalid Column name or The multi-part identifier error on where clause in join无效的列名或连接中 where 子句的多部分标识符错误
【发布时间】:2017-01-26 15:38:19
【问题描述】:

我有这个存储过程,但是WHERE 子句中的日期有问题。我不断收到“列名无效”或“多部分标识符无法绑定错误消息”。

我尝试了各种不包括表名或使用表别名以及带或不带方括号的组合,但我仍然遇到同样的问题。

update [SSRSAuditStockProvisionLIVE_backup] 
set [SSRSAuditStockProvisionLIVE_backup].SalesStatus = ss.Name
from [SSRSAuditStockProvisionLIVE_backup] asp
inner join AuditSalesStatus ass on ass.ArtworkId = asp.ArtworkId
inner join SalesStatus ss on ss.SalesStatusId = ass.NewConsignmentStatusId
where (Convert(date, [SSRSAuditStockProvisionLIVE_backup.Date], 103) = Convert(date, @OldestDateToUpdate, 103))
  and ass.ArtworkId = @ArtworkId 
  and (Convert(date, [AuditSalesStatus.Date], 103) = Convert(date, @OldestDateToUpdate, 103))

【问题讨论】:

    标签: sql-server tsql


    【解决方案1】:

    这应该可行。

    update asp 
    set asp.SalesStatus = ss.Name
    from [SSRSAuditStockProvisionLIVE_backup] asp
    inner join AuditSalesStatus ass on 
        ass.ArtworkId = asp.ArtworkId
    inner join SalesStatus ss on 
        ss.SalesStatusId = ass.NewConsignmentStatusId
    WHERE (Convert(date, asp.[Date], 103) = Convert(date, @OldestDateToUpdate, 103))
    and ass.ArtworkId = @ArtworkId 
    and (Convert(date, [AuditSalesStatus.Date], 103) = Convert(date, @OldestDateToUpdate, 103))
    

    如果您选择使用别名,那么您必须在对表的所有引用中使用别名。

    【讨论】:

    • 太好了,谢谢! :) 我只需要更改最后一行以使用别名,现在它可以工作了。 :) "and (Convert(date, ass.[Date], 103) = Convert(date, @OldestDateToUpdate, 103))"
    【解决方案2】:
    update [SSRSAuditStockProvisionLIVE_backup] 
    set SalesStatus = ss.Name
    from [SSRSAuditStockProvisionLIVE_backup] asp
    inner join AuditSalesStatus ass on ass.ArtworkId = asp.ArtworkId
    inner join SalesStatus ss on ss.SalesStatusId = ass.NewConsignmentStatusId
    WHERE (Convert(date, asp.Date, 103) = Convert(date, @OldestDateToUpdate, 103))
    and ass.ArtworkId = @ArtworkId 
    and (Convert(date, ass.Date, 103) = Convert(date, @OldestDateToUpdate, 103))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 2019-11-06
      相关资源
      最近更新 更多