在 SQL Server 2005 express 中使用连接
Posted
技术标签:
【中文标题】在 SQL Server 2005 express 中使用连接【英文标题】:Using join in SQL Server 2005 express 【发布时间】:2012-02-08 18:33:20 【问题描述】:我有一个表,我需要根据另一个表的信息对其进行更新。我编写了一个运行良好的选择查询,并准确显示了我需要摆脱的内容,但是当我尝试将其更改为更新查询时,我在加入时遇到错误。我希望这是一个简单的疏忽,有人可以向我指出。
这是有效的选择查询:
select *
from CustPayShdul
JOIN ARcreditapply
ON ARcreditapply.AplyedRefNo = CustPayShdul.ReferNo AND ARcreditapply.AplyedLocation = CustPayShdul.LocationNo
AND ARcreditapply.sequence2 = CustPayShdul.Paysequence
where ARcreditapply.PaidDate < '1/1/2012' and ARcreditapply.PaidDate < CustPayShdul.InvDate
这是返回错误的更新查询:
update custpayshdul
set custpayshdul.payablebalance = custpayshdul.amount
JOIN ARcreditapply
ON ARcreditapply.AplyedRefNo = CustPayShdul.ReferNo AND ARcreditapply.AplyedLocation = CustPayShdul.LocationNo
AND ARcreditapply.sequence2 = CustPayShdul.Paysequence
where ARcreditapply.PaidDate < '1/1/2012' and ARcreditapply.PaidDate < CustPayShdul.InvDate
【问题讨论】:
什么是那些错误??请给我们准确和完整的错误信息.... 【参考方案1】:您在加入之前缺少FROM custpayshdul
。试试:
update custpayshdul
set payablebalance = custpayshdul.amount
FROM custpayshdul
JOIN ARcreditapply
ON ARcreditapply.AplyedRefNo = CustPayShdul.ReferNo AND ARcreditapply.AplyedLocation = CustPayShdul.LocationNo
AND ARcreditapply.sequence2 = CustPayShdul.Paysequence
where ARcreditapply.PaidDate < '1/1/2012' and ARcreditapply.PaidDate < CustPayShdul.InvDate
【讨论】:
你太棒了!!!!!!!!!像魅力一样工作!那快把我逼疯了!非常感谢! 很高兴为您提供帮助!如果您也可以将其标记为答案,那就太棒了;)以上是关于在 SQL Server 2005 express 中使用连接的主要内容,如果未能解决你的问题,请参考以下文章
安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具
SQL Server 2005 小型企业与 SQL Server Express 2012 [关闭]
使用 Java 连接 SQL Server 2005 Express
在 SQL Server 2005 express 中使用连接
已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具