Как обновить выпадающий список записи на основе приоритета? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть выпадающий список, который содержит:

Rank1 
Rank2
Rank3
Rank4

и кнопку обновления.

У меня есть следующая запись типа

id    name    rank
1     chetan    1
2     ajay      3
3     kelly     2

Я хочу написать обновление SQLзапросите таким образом, чтобы:

  • , когда я хочу обновить ранг четана (ранг1) до ранга 2, его не следует обновлять.
  • ранг3 можно обновить до ранга 1 иrank2
  • rank4 может обновляться до rank1 rank2 и rank3
  • rank2 не должен обновляться до rank3 и rank4.

Это похоже на высшие предпочтения.Ранги более высокого уровня не должны обновляться до более низких рангов, но более низкие ранги могут обновляться до более высоких рангов.

Я пробовал запрос, используя Case when, но он не работает:

 update cmp set cmp.rank = case when 'Rank4' Then update cmp set cmp.rank='Rank3'                             or cmp.rank='Rank2' or cmp.rank='Rank1' else cmp.rank end,
                cmp.rank=case when 'Rank3' Then update cmp set cmp.rank='Rank2' or cmp.rank='Rank1' else cmp.rank end,
                ...

Есть лиЛюбое другое решение для этого?

1 Ответ

0 голосов
/ 08 февраля 2019

Вот один из способов

update t
   set t.rank='<passed_in_value_from_dropdown>'
 where '<passed_in_value_from_dropdown>' < t.rank
   and t.emp = '<passed_in_emp_number>'
...