簡體   English   中英

SQL。 從其他列的選擇中設置列值

[英]SQL. Set column Value from a choice of other columns

不確定我想要做的事情是否可能,如果是的話,我已經在腦子里碰到了如何做到這一點並且搜索沒有找到答案。

我有一個列,我們稱之為列A.這是當前空白的,我想用B列或C列(隨機選擇)中的值填充它。

本質上我想做什么,但哪些不起作用是:

更新MyTable設置列A =列B或列C來自MyTable

任何幫助將不勝感激!

你可以使用case 如果你想隨機,那么:

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

以上隨機分配每行的列。 如果你想讓所有column_A都來自B或C,但隨機選擇,我想我會使用類似的技巧:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM