Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 用另一个表中的值替换字符串中出现的任何“P”_Sql - Fatal编程技术网

Sql 用另一个表中的值替换字符串中出现的任何“P”

Sql 用另一个表中的值替换字符串中出现的任何“P”,sql,Sql,我在一个表中有一列sort_order,其中包含一个数字字符串、一个分隔符和一些p值: 1150 | p | 1168 | 1144 | 1149 | 1147 | 1164 | 1152 | p | 1148 | 1162 | 1163 | p | 1156 | 1157 1244|| 我想用另一个表的event_tile_id列中的另一个值替换该字符串中的任何p值 到目前为止,我在下面起草了这个SQL,但运气不好。我可以对此查询进行哪些更改以获得所需的效果 `SELECT sort_orde

我在一个表中有一列sort_order,其中包含一个数字字符串、一个分隔符和一些p值:

1150 | p | 1168 | 1144 | 1149 | 1147 | 1164 | 1152 | p | 1148 | 1162 | 1163 | p | 1156 | 1157 1244||

我想用另一个表的event_tile_id列中的另一个值替换该字符串中的任何p值

到目前为止,我在下面起草了这个SQL,但运气不好。我可以对此查询进行哪些更改以获得所需的效果

`SELECT sort_order, 
(
    REPLACE(sort_order,'P', 
        (SELECT TOP 1 event_tile_id 
        FROM daily_email_sales_today) 
    )
)
as sort_order    
FROM daily_email_preview`

已从查询中删除默认的\u SaleID。Replace现在应该有4个参数。

我将这样做

既然没有任何联接,为什么不使用静态值执行更简单的更新查询呢

DECLARE @update VARCHAR(100)
SET @update = (SELECT TOP 1 event_tile_id FROM daily_email_sales_today)

update daily_email_preview

SET sort_order = replace(sort_order,'P', @update)
甚至

update daily_email_preview

SET sort_order = replace(sort_order,'P', '<new value>')

假设您正在使用SQL Server。

按照与@Eric_Hauenstein相同的思维过程,如果您在TSQL过程中运行此过程:

declare @rSTR as varchar(50)

SELECT TOP 1 @rSTR = event_tile_id FROM daily_email_sales_toda

SELECT sort_order, REPLACE(sort_order,'P', @rSTR) as sort_order    
FROM daily_email_preview

哪个RMDB?如果是SQL Server,哪个版本?是的,我不知道替换函数如何接受四个参数。你说运气不好是什么意思?这是一个语法错误,一个一般的失败,鼻子恶魔吗?刚刚更新了Replace函数,使它有4个参数@DaaaahWhoosh@christiandev-不太确定。我在ExactTarget的查询工具中使用此查询,我知道它有一些SQL限制。这取决于您需要将输出格式化为什么,列表,替换等。。。两者都会起作用。更大的问题是您打算如何使用此替换代码。