Página 2 de 2

dúvida em select

Enviado: 30 Jan 2017 19:45
por alxsts
Olá!

Veja:

Código: Selecionar todos

CREATE TABLE tbTarefas (
    Usuario      CHAR(1) NOT NULL
    ,nrtarefa    CHAR(4) NOT NULL PRIMARY KEY
    ,prioridade  TINYINT NOT NULL
    ,dtcarga     DATE NOT NULL
    ,tarefa      VARCHAR(100) CHARACTER SET utf8);
#------------------------------------------------------------------------------    
   INSERT INTO tbTarefas
    (Usuario, nrtarefa, prioridade, dtcarga, tarefa)
	VALUES 
	 ('U', 'U122', 9, '2017/01/01', 'xxxxxxxxxxxxxxxxx')  
	,('B', 'B411', 9, '2017/01/02', 'yyyyyyyyyyyyyyyyy')
	,('S', 'S355', 9, '2017/01/03', 'zzzzzzzzzzzzzzzzzzzz')
	,('O', 'O222', 8, '2017/01/01', 'wwwwwwwwwww')
	,('U', 'U544', 8, '2017/01/05', 'qqqqqqqqqqqqqqq')
	,('N', 'N177', 7, '2017/01/03', 'eeeeeeeeeeeeeee')
	,('U', 'U611', 7, '2017/01/05', 'ffffffffffffffffffffffff')
	,('Y', 'Y999', 7, '2017/01/05', 'ffffffffffffffffffffffff');
#------------------------------------------------------------------------------
SELECT usuario Usuário
   ,nrtarefa 'Nr.Tarefa'
   ,prioridade 'Prioridade'
   ,dtcarga 'Dt. Carga'
   ,tarefa 'Descr. Tarefa'
   ,CASE usuario
     WHEN 'B' THEN 5
     WHEN 'L' THEN 6
     WHEN 'N' THEN 7
     WHEN 'O' THEN 8
     ELSE 0
   END Peso
   
   ,CASE usuario
     WHEN 'B' THEN prioridade - 1
     WHEN 'L' THEN prioridade - 1
     WHEN 'N' THEN prioridade - 1
     WHEN 'O' THEN prioridade - 1
     ELSE prioridade
   END Prioridade1
 FROM tbTarefas   
 WHERE usuario IN ('U','O','B','S','F','M','K','X','N', 'L' ) 
 ORDER BY prioridade DESC, peso, dtcarga
Está ordenando pela coluna prioridade. Se precisar, mude para prioridade1. Ajuste para a tua necessidade.

dúvida em select

Enviado: 01 Fev 2017 15:06
por cjp
Acho que isso resolve sim o que eu preciso. Vou estudar e fazer testes; volto a postar aqui depois.