【发布时间】:2013-10-22 11:21:46
【问题描述】:
我的桌子看起来像
产品 ID 状态行 N0 startDate ENDdate 1 订购 3 1999 年 1 月 2 日 NULL 1 租用 1 02/04/2006 NULL 1 转租 4 2000 年 12 月 31 日 NULL 1 取消 9 2003 年 10 月 25 日 NULL 2 交付 5 1999 年 1 月 2 日 NULL 2 丢失 3 02/04/2001 空 2 取消 4 2000 年 12 月 31 日 NULL我需要写一个更新语句 如果状态为取消,则 Product End Date 为 Max(linenumber) 的 StartDate
结果应该是这样的
ProductId EndDate
1 10/25/2003 Date of line number(9)
2 01/02/1999 Date of line number(5)
谢谢
【问题讨论】:
-
您使用的是什么关系型数据库?您还想删除其他行吗?
-
首先尝试编写
SELECT语句,它将返回您想要的结果,然后简单地将SELECT语句修改为UPDATE。 -
如果是
StartDate of max(linenumber),你是怎么得到02/04/2006forproductId 1的? -
使用 sql server。 ProductId 1 的结束日期应为 2003 年 10 月 25 日
-
您需要更新特定产品的所有行还是只更新
Cancelled行?
标签: sql