Mysql 如何将列中的条目克隆到具有相同ID的所有列?
我希望在id相同的情况下克隆数据库中的一个条目 每一行都有自己的ID,然后是一个单独的列,用于我要复制的条目。我正在尝试查找此列中包含数据的任何条目,并将其克隆到具有相同ID的任何其他行 例如:Mysql 如何将列中的条目克隆到具有相同ID的所有列?,mysql,sql,Mysql,Sql,我希望在id相同的情况下克隆数据库中的一个条目 每一行都有自己的ID,然后是一个单独的列,用于我要复制的条目。我正在尝试查找此列中包含数据的任何条目,并将其克隆到具有相同ID的任何其他行 例如: ID COLUMNNAME 1 Test 1 1 2 2 Test 2 3 3 在这种情况下,测试1将克隆到下面的行,测试2将克隆到上面的行,而ID 3将保持空白 我有: 选择'columnname','id` 从`表` 其中“columnn
ID COLUMNNAME
1 Test 1
1
2
2 Test 2
3
3
在这种情况下,测试1将克隆到下面的行,测试2将克隆到上面的行,而ID 3将保持空白
我有:
选择'columnname','id`
从`表`
其中“columnname”
和'id`='id`
编写以查找包含数据的条目,但由于我对MySQL还是很陌生,因此不确定从这里开始到哪里。您可以使用多表更新语法进行自连接:
请参见。您可以使用多表更新语法进行自联接: 查看。或子查询
Update t1
Set t1.ColumnName = (Select Min(t2.ColumnName) From my_table t2 Where t2.ID = t1.ID And t2.ColumnName <> '')
FROM dbo.my_table t1
Where t1.ColumnName = '' Or t1.ColumnName IS NULL
小提琴:
但是,自连接解决方案更干净、更快 或子查询
Update t1
Set t1.ColumnName = (Select Min(t2.ColumnName) From my_table t2 Where t2.ID = t1.ID And t2.ColumnName <> '')
FROM dbo.my_table t1
Where t1.ColumnName = '' Or t1.ColumnName IS NULL
小提琴:
但是,自连接解决方案更干净、更快 啊,太完美了,没有意识到加入在同一张表中有效-非常感谢。啊,太完美了,没有意识到加入在同一张表中有效-非常感谢