SQL.Установить значение столбца из выбора других столбцов - PullRequest
0 голосов
/ 03 декабря 2018

Не уверен, возможно ли то, что я хочу сделать, или нет, и если это так, я ударился кирпичной стеной в голову, как это сделать, и поиск не нашел ответа.

У меня есть столбец, мы назовем его столбцом А. В настоящее время он пуст, и я хочу заполнить его значением из столбца B или столбца C (который выбирается случайным образом).

По сути, я хочу сделать, но это не работает:

обновить набор MyTable Столбец A = Столбец B ИЛИ Столбец C из MyTable

Любая помощь будетс благодарностью!

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...