ОБНОВЛЕНИЕ SQL логическое из БД, выбирающее минимальное значение числа ГДЕ логическое = ложь - PullRequest
0 голосов
/ 30 октября 2018

Я хочу ОБНОВИТЬ свою базу данных из предыдущего выбора. Я имею в виду, что мне нужно выбрать минимальное значение регистра, когда логическое значение = false, а затем изменить значение логического значения этой записи на true. Все они из одной таблицы.

numberColumn    booleanColumn
     1                1                   
     2                1
     3                0
     4                0

Результат должен быть таким:

numberColumn    booleanColumn
     1                1                   
     2                1
     3                1
     4                0

Оператор, который я использую, похож на это, и, возможно, в синтаксисе есть ошибка.

"UPDATE db(booleanColumn) SELECT MIN(numberColumn) FROM db WHERE boolean='0' SET boolean='1'"

Я чувствую, что мне нужно вложить что-то вроде:

"UPDATE db(booleanColumn) 
SET boolean='1'
WHERE (SELECT MIN(numberColumn) WHERE boolean=0)"

но если не работает тоже. Я не знаю, если вы получаете вопрос или мне нужно выразить себя лучше. Спасибо, теперь,

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

В SQL вы можете сделать это

;with cte as  
(   
    select top(1) * from db
    where boolean = 0
   order by numberColumn
     )          
update cte set  boolean = 1
0 голосов
/ 30 октября 2018

В MySQL вы можете сделать:

update db.table
    set boolean = 1
    where boolean = 0
    order by numberColumn
    limit 1;
...