这是tblSales
表。它包含两行具有相同的值。我想更新此绿色框行..请帮助我..我是SQL Server的初学者。
表格的局部视图,从上图:
CustID SalesDate ItemId Quantity Amount
---------------------------------------------------
C1 2009-01-01 ABC 100 1000.00
C2 2009-01-01 ABC 200 2000.00
C4 2009-12-01 PQR 200 2000.00
C4 2009-12-01 PQR 200 2000.00 <---- this one!
C2 2009-01-04 XYZ 500 NULL
C1 2009-01-05 XYZ NULL 500.00
答案 0 :(得分:3)
在您的对象资源管理器上: 展开数据库,然后展开表格,然后右键单击表格&gt;并选择“编辑前200行”。
然后编辑并保存。
如果您想使用查询,可以使用RN
WITH CTE AS(
SELECT *,
RN = ROW_NUMBER()OVER(PARTITION BY CustID ORDER BY CustID)
FROM tblSales
)
UPDATE CTE set Quantity='100' WHERE RN=2 and CustID='C4';
答案 1 :(得分:1)
由于我看不到整张桌子,我不确定这是否有用,但是。 。 。
你的记录可能有一个唯一的标识符(ID,主键等) - 它从你的图像中看出,重复的行在左边的字段中有一个唯一的(或至少是不同的)值(部分截止为图片)。假设这些行具有1-6的顺序ID。如果是这样,那么你可以做一个简单的UPDATE查询:
UPDATE tblSales
SET column_name = new_value, column_name2 = new_value . . .
WHERE ID = 4;
在这种情况下,指定要进行的更改 - 例如,更改第四行的数量:
UPDATE tblSales
SET quantity = 100
WHERE ID = 4;
如果该列中的ID不是唯一的,它仍然与上面的行不同,那么你可以这样做:
UPDATE tblSales
SET quantity = 100
WHERE id = 4 AND CustID = 'C4' and ItemID = 'PQR';
多个WHERE将在这种情况下唯一标识该行(您可以先将其作为SELECT查询运行,以确保在继续更新之前它只标识一行)
如果没有唯一标识符并且这些是真正重复的行,我建议您:https://support.microsoft.com/en-us/kb/139444