谁能让我清醒

SZHHP 2003-02-10 08:11:28
表1: 目录 目录ID 日期 摘要 仓库ID
ml1 2002-12-22 入库 CK1
ml2 2002-12-30 入库 CK2

表2: 内容 内容ID 目录ID 商品ID 数量 单价 金额
nr1 ml1 sp1 5 0 0
nr2 ml1 sp2 6 0 0
nr3 ml1 sp3 7 0 0
nr4 ml1 sp4 8 0 0
nr5 ml2 sp1 5 0 0
nr6 ml2 sp2 6 0 0
nr7 ml2 sp3 7 0 0
nr8 ml2 sp4 8 0 0

表3: 单价 仓库ID 商品ID 单价
CK1 sp1 2.00
CK1 sp2 3.00
CK1 sp3 4.00
CK1 sp4 5.00
CK2 sp1 3.00
CK2 sp2 4.00
CK2 sp3 5.00
CK2 sp4 6.00


要求:将 2002-12-22 日的入库商品的单价按单价表的该仓库价格更新


我的SQL语句是:

UPDATE 内容 SET 内容.单价 = 单价.单价
FROM 目录, 内容, 单价
WHERE 目录.日期='2002-12-22'
AND 目录.目录ID=内容.目录ID
AND 目录.仓库ID=单价.仓库ID
AND 内容.商品ID=单价.商品ID



我现在是头晕晕,老是觉得 业务内容的 仓库ID 和 商品ID 在两个表上,这样是否能很准确的把单价更新,请大虾给个意见,或是更好的UPDATE语句,谢谢!!!




...全文
45 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Robin 2003-02-10
  • 打赏
  • 举报
回复
UPDATE 内容 SET 内容.单价 = 单价.单价
FROM 目录, 内容,单价
WHERE 目录.日期='2002-12-22'
AND 目录.目录ID=内容.目录ID
AND 目录.仓库ID=单价.仓库ID
AND 内容.商品ID=单价.商品ID
没错了!
pengdali 2003-02-10
  • 打赏
  • 举报
回复
UPDATE 内容 SET 内容.单价 = 单价.单价
FROM 目录, 内容
WHERE 目录.日期='2002-12-22'
AND 目录.目录ID=内容.目录ID
AND 目录.仓库ID=单价.仓库ID
AND 内容.商品ID=单价.商品ID

你要更容易懂一点的话:
UPDATE 内容 SET 内容.单价 = 单价.单价
FROM 目录 join 内容
on 目录.目录ID=内容.目录ID
join 单价
on 目录.仓库ID=单价.仓库ID and 内容.商品ID=单价.商品ID

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧