Tenho uma dúvida para executar um select numa tabela MySQL. Peço ajuda dos amigos.
O select atual está assim:
SELECT * FROM tarefas WHERE (usuario='"+us+"' OR usuario='O' OR usuario='B' usuario='S' OR usuario='F' OR usuario='M' OR usuario='K' OR usuario='X' OR usuario='N') AND prioridade>0 GROUP BY nrtarefa ORDER BY prioridade DESC,dtcarga
Este select retorna algo assim (de forma simplificada aqui para melhor compreensão):
Usuário nrtarefa prioridade dtcarga tarefa
U U122 9 01/01/17 xxxxxxxxxxxxxxxxx
B B411 9 02/01/17 yyyyyyyyyyyyyyyyy
S S355 9 03/01/17 zzzzzzzzzzzzzzzzzzzz
O O222 8 01/01/17 wwwwwwwwwww
U U544 8 05/01/17 qqqqqqqqqqqqqqq
N N177 7 03/01/17 eeeeeeeeeeeeeee
U U611 7 05/01/17 ffffffffffffffffffffffff
...
Eu preciso que, quando us (variável no meu programa) for igual a “U”, o select faça uma das seguintes coisas (qualquer delas já resolveria meu problema, mas não estou conseguindo fazer nenhuma das duas):
1) Ordenar a busca pelo campo usuário também, depois do campo prioridade, mas de forma a que os usuários L, N, B e O ficassem por último dentro de cada grupo de prioridade; então, no exemplo acima, ficaria assim:
Usuário nrtarefa prioridade dtcarga tarefa
U U122 9 01/01/17 xxxxxxxxxxxxxxxxx
S S355 9 03/01/17 zzzzzzzzzzzzzzzzzzzz
B B411 9 02/01/17 yyyyyyyyyyyyyyyyy
U U544 8 05/01/17 qqqqqqqqqqqqqqq
O O222 8 01/01/17 wwwwwwwwwww
U U611 7 05/01/17 ffffffffffffffffffffffff
N N177 7 03/01/17 eeeeeeeeeeeeeee
...
É fácil ver que não adianta colocar “usuário” no campo ORDER BY do select, pois não há uma ordem, nem crescente nem decrescente, a ser respeitada.
2) Diminuir a prioridade em 1 ponto para os usuários L, N, B e O apenas no select, ou apenas no ORDER BY. Daí o exemplo que postei ficaria assim:
Usuário nrtarefa prioridade dtcarga tarefa
U U122 9 01/01/17 xxxxxxxxxxxxxxxxx
S S355 9 03/01/17 zzzzzzzzzzzzzzzzzzzz
B B411 9 ou 8 02/01/17 yyyyyyyyyyyyyyyyy
U U544 8 05/01/17 qqqqqqqqqqqqqqq
O O222 8 ou 7 01/01/17 wwwwwwwwwww
U U611 7 05/01/17 ffffffffffffffffffffffff
N N177 7 ou 6 03/01/17 eeeeeeeeeeeeeee
...
Não faço ideia de como fazer isso.
Alguém poderia me ajudar?