【发布时间】:2014-07-17 17:57:07
【问题描述】:
我使用的是 Microsoft SQL Server 2005
我有两张桌子,比如说TableA 和TableB
CREATE TABLE TableA (
A_ItemNumber (int)
A_IsDeleted (bit)
)
CREATE TABLE TableB (
B_ItemNumber (int)
B_OrderNumber (varchar)
)
INSERT INTO TableB VALUES
(1, 'XY004005'),
(2, 'XY005125'),
(3, 'XY499999'),
(4, 'XY511340')
我需要编写一个执行以下操作的更新查询:
获取所有
B_OrderNumbers的B_ItemNumber,其中字符串的 int 部分 XY004005 将包含在004005 < 500000之后,但XY511340不会)将此商品编号用于
UPDATE A_IsDeleted WHERE A_ItemNumber = B_ItemNumber
我基本上想将所有A_ItemNumber = B_ItemNumber where B_OrderNumber < XY500000 的A_IsDeleted 更改为TRUE
我认为这可能是一个简单的加入/更新,但看起来不允许这样做。
【问题讨论】:
-
我确实看到了那个答案。我会再读一遍。感谢设计这个数据库的人,我也有字符串应该有整数,所以我会挖掘更多,看看我能想出什么
标签: sql sql-server join sql-update