遍历列中的单元格
iterating through cells within a column
我有一个充满值的 table,但是我想在临时 table 中操作这些数据!下面显示了 table 的示例(这不是我实际的 table)!
所以说现在我想遍历行 Name 并且名称是 john 我想将其更改为 Simon 并且名称是 Carol 我想更改为 Mike(这只是给我的一个例子需要什么的想法)。下面的 table 也是正在创建的临时 table 所以创建后我想通过该专栏!下面显示了创建临时 table.
的代码
IF OBJECT_ID('tempdb..#LocalTempTable') IS NOT NULL
DROP TABLE #LocalTempTablew
CREATE TABLE #LocalTempTable(
Source varchar(50),
Value int,
Name varchar(150),
Date date)
insert into #LocalTempTable (Source, Value, Name, Date)
SELECT
table1.sourceID,
table2.value,
table1.name,
table2.Timestamp
FROM table1 INNER JOIN
Source ON table1.SourceID = table2.ID
SELECT Name, CASE Name
WHEN 'John' THEN Name = 'Simon'
WHEN 'Carol' THEN Name = 'Mike'
END
FROM #LocalTempTable
但是当我运行这个查询时它超时了!
这不需要游标,但应该可以执行以下操作:
UPDATE T
SET Name = CASE Name
WHEN 'John' THEN 'Simon'
WHEN 'Carol' THEN 'Mike'
ELSE Name
END
FROM Table1 T
<insert needed join and where clauses as needed>
基本上这会更新整个 Table1,但是您可以在更新查询的 FROM 部分中设置更复杂的连接条件和 WHERE;只要最后更新一个table即可。
我有一个充满值的 table,但是我想在临时 table 中操作这些数据!下面显示了 table 的示例(这不是我实际的 table)!
所以说现在我想遍历行 Name 并且名称是 john 我想将其更改为 Simon 并且名称是 Carol 我想更改为 Mike(这只是给我的一个例子需要什么的想法)。下面的 table 也是正在创建的临时 table 所以创建后我想通过该专栏!下面显示了创建临时 table.
的代码IF OBJECT_ID('tempdb..#LocalTempTable') IS NOT NULL
DROP TABLE #LocalTempTablew
CREATE TABLE #LocalTempTable(
Source varchar(50),
Value int,
Name varchar(150),
Date date)
insert into #LocalTempTable (Source, Value, Name, Date)
SELECT
table1.sourceID,
table2.value,
table1.name,
table2.Timestamp
FROM table1 INNER JOIN
Source ON table1.SourceID = table2.ID
SELECT Name, CASE Name
WHEN 'John' THEN Name = 'Simon'
WHEN 'Carol' THEN Name = 'Mike'
END
FROM #LocalTempTable
但是当我运行这个查询时它超时了!
这不需要游标,但应该可以执行以下操作:
UPDATE T
SET Name = CASE Name
WHEN 'John' THEN 'Simon'
WHEN 'Carol' THEN 'Mike'
ELSE Name
END
FROM Table1 T
<insert needed join and where clauses as needed>
基本上这会更新整个 Table1,但是您可以在更新查询的 FROM 部分中设置更复杂的连接条件和 WHERE;只要最后更新一个table即可。