He estado golpeando mi cabeza en el escritorio tratando de resolver esto. Tengo una tabla que almacena la información del trabajo y las razones por las que un trabajo no se completa. Las razones son numéricas, 01,02,03, etc. Puede tener dos motivos para un trabajo pendiente. Si selecciona dos razones, se almacenan en la misma columna, separadas por una coma. Este es un ejemplo de la JOBID tabla:Consulta SQL con múltiples valores en una columna
Job_Number User_Assigned PendingInfo
1 user1 01,02
Hay otra tabla llamada Pendiente, que almacena lo que esos valores representan en realidad. 01 = información insuficiente, 02 = tiempo insuficiente, 03 = espera de revisión. Ejemplo:
Pending_Num PendingWord
01 Not Enough Info
02 Not Enough Time
Lo que estoy tratando de hacer es consultar la base de datos para darme todos los números de trabajo, usuarios, pendinginfo, y la razón pendiente. Puedo descifrar el primer valor, pero no puedo descifrar cómo hacer el segundo. Lo que mis habilidades limitadas tienen hasta el momento:
select Job_number,user_assigned,SUBSTRING(pendinginfo,0,3),pendingword
from jobid,pending
where
SUBSTRING(pendinginfo,0,3)=pending.pending_num and
pendinginfo!='00,00' and
pendinginfo!='NULL'
lo que me gustaría ver en este ejemplo sería:
Job_Number User_Assigned PendingInfo PendingWord PendingInfo PendingWord
1 User1 01 Not Enough Info 02 Not Enough Time
Gracias de antemano
¿Cambiar el esquema es una opción? Esta relación debería ser realmente una tabla de asignación o una columna de razón secundaria. –
Base de datos 101 - ** primera ** forma normal (1NF): cada celda de fila/columna debe contener como máximo ** un valor **. –