MYSQL-命令用于具有相同id的列中的复制值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL-命令用于具有相同id的列中的复制值相关的知识,希望对你有一定的参考价值。
我需要帮助来创建正确的mysql命令。 正如你在附件中看到的, 我需要使用attribute_id 77在列值中使用attribute_id 78复制字符串中的字符串,其中entity_id是相同的。
任何人都可以帮我写出正确的代码吗?提前致谢
答案
这样做:
UPDATE T
SET value = A.value
FROM
YourTable T
CROSS APPLY
(
SELECT TOP 1 value
FROM YourTable
WHERE
[entity_id] = T.[entity_id]
AND attribute_id = 78
) A
WHERE attribute_id = 77
另一答案
这是基于OP真正使用SQL Server(我非常怀疑,因为他们已经标记了phpmyadmin
)。
WITH CTE AS (
SELECT [value],
LEAD([value]) OVER (PARTITION BY entity_id ORDER BY attribute_id) AS NextValue
FROM YourTable
WHERE attribute_id IN (77,78))
UPDATE CTE
SET value = NextValue
WHERE attribute_id = 77;
以上是关于MYSQL-命令用于具有相同id的列中的复制值的主要内容,如果未能解决你的问题,请参考以下文章
如何将约束添加到 MYSQL 中的列仅以保存已存在于同一表的另一列中的值? [复制]