sql从其他列的选择中设置列值

5anewei6  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(309)

我不确定我想做的事是否可能,如果可能,我已经在我的头脑中撞到了一堵墙怎么做,搜索还没有找到答案。
我有一个专栏,我们叫它a专栏。它当前为空,我想用b列或c列(随机选择)中的值填充它。
从本质上说,我想做的,但不起作用的是:
从mytable更新mytable set column a=column b或column c
任何帮助都将不胜感激!

pdsfdshx

pdsfdshx1#

你可以用 case . 如果你想要随机的,那么:

update MyTable
    set Column_A = (case when rand() < 0.5 then Column_B else Column_C end);

上面的代码为每一行随机分配任意一列。如果你想要全部 column_A 我想我会用一个类似的方法:

update MyTable cross join
       (select @r := rand()) params
    set Column_A = (case when @r < 0.5 then Column_B else Column_C end);

相关问题