【发布时间】:2020-08-17 07:55:36
【问题描述】:
我在尝试从表 t1 上传字段 caracter 时遇到问题。如果它出现在t2 的frase 中,我想将caracter 的值与之前的值连接起来。例如,如果在caracter 中找到 x、y 或 z,并且这些值出现在 t2 中的 frase 中,我想将 x、y 和 z 与 caracter 中的前一个值连接起来。
t1
t2
这应该是结果
t1
我尝试使用游标,但它不起作用,因为我在 set 处引用错误,之前我尝试使用 while 循环但结果相同。
DECLARE @frase VARCHAR (100)
DECLARE MICURSOR CURSOR FOR SELECT caracter FROM t1
OPEN MICURSOR
FETCH NEXT FROM MICURSOR
WHILE @@fetch_status = 0
BEGIN
SELECT t1.caracter FROM t1 INNER JOIN t2
ON t2.frase LIKE CONCAT('%', t1.caracter,'%')
UPDATE t1 SET caracter= 'caracter' + '(@frase-1)'
FETCH NEXT FROM MICURSOR INTO @frase
END
CLOSE MICURSOR
DEALLOCATE MICURSOR
【问题讨论】:
-
数据图像确实不能帮助我们帮助您。请花时间提供表格格式的
text,或者(甚至更好)DDL 和 DML 语句。然后我们可以使用这些数据并帮助您获得所需的结果。
标签: sql-server indexing string-concatenation cursors