se os ocurre alguna forma 'eficiente' de hacer esto:
tengo una tabla con dos campos
id - mes
y la clave es id-mes, es decir, que cada id esta relacionado como mucho con los 12 meses.
como puedo sacar una consulta que me de por cada id todos los meses:
Id 1 2 3 4 5 6 7 8 9 10 11 12
la unica forma que se ma ha ocurrido es hacer 12 consultas por cada id, pero eso es una cutrez...
gracias!!!
saludos
otra de sql
290 6
Escrito 0 0
como como?? no entiendo exactamente lo que pides, explica un poquillo mas please
Cabalgamos juntos, morimos juntos "Rebeldes para siempre"
Escrito 0 0
Así ¿no?
Select id, mes from <tabla> order by id mes asc
esto te devolvería esto:
id | mes
--------------
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
1 | 6
1 | 7
1 | 8
1 | 9
1 | 10
1 | 11
1 | 12
2 | 1
...
Select id, mes from <tabla> order by id mes asc
esto te devolvería esto:
id | mes
--------------
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
1 | 6
1 | 7
1 | 8
1 | 9
1 | 10
1 | 11
1 | 12
2 | 1
...
Escrito 0 0
gracias por vuestras respuestas
me explico como el (_I_) :-D
lo que quiero es que para cada id me de todos sus meses, pero todos en una linea, es decir
Id345234 mes1 mes2 mes3 ... mes12
en lugar de una linea por cada mes...
... no se si lo he dejado mucho mas claro :-(
gracias de nuevo
me explico como el (_I_) :-D
lo que quiero es que para cada id me de todos sus meses, pero todos en una linea, es decir
Id345234 mes1 mes2 mes3 ... mes12
en lugar de una linea por cada mes...
... no se si lo he dejado mucho mas claro :-(
gracias de nuevo
Deutschland. Erfrischend natürlich!
Escrito 0 0
Suponiendo que tu tabla se llama "tabla" y tiene 2 campos que se llaman "id y "mes", y que el campo mes sea numerico(enero = 1, febrero = 2, ...) se me ocurre algo así:
select t.id, t1.mes, t2.mes, t3.mes, t4.mes,
t5.mes, t6.mes, t7.mes, t8.mes, t9.mes,
t10.mes, t11.mes, t12.mes
from tabla t, tabla t1, tabla t2, tabla t3,
tabla t4, tabla t5, tabla t6, tabla t7,
tabla t8, tabla t9, tabla t10, tabla t11,
tabla t13
where t1.id = t.id
and t1.mes = 1
and t2.id = t.id
and t2.mes = 2
and t3.id = t.id
and t3.mes = 3
and t4.id = t.id
and t4.mes = 4
and t5.id = t.id
and t5.mes = 5
and t6.id = t.id
and t6.mes = 6
and t7.id = t.id
and t7.mes = 7
and t8.id = t.id
and t8.mes = 8
and t9.id = t.id
and t9.mes = 9
and t10.id = t.id
and t10.mes = 10
and t11.id = t.id
and t11.mes = 11
and t12.id = t.id
and t12.mes = 12
order by id
No se si será demasiado eficiente, pero debería funcionar.
¿Te has planteado cambiar la estructura de la base de datos, porque me da que no está ni en 3 forma normal?
select t.id, t1.mes, t2.mes, t3.mes, t4.mes,
t5.mes, t6.mes, t7.mes, t8.mes, t9.mes,
t10.mes, t11.mes, t12.mes
from tabla t, tabla t1, tabla t2, tabla t3,
tabla t4, tabla t5, tabla t6, tabla t7,
tabla t8, tabla t9, tabla t10, tabla t11,
tabla t13
where t1.id = t.id
and t1.mes = 1
and t2.id = t.id
and t2.mes = 2
and t3.id = t.id
and t3.mes = 3
and t4.id = t.id
and t4.mes = 4
and t5.id = t.id
and t5.mes = 5
and t6.id = t.id
and t6.mes = 6
and t7.id = t.id
and t7.mes = 7
and t8.id = t.id
and t8.mes = 8
and t9.id = t.id
and t9.mes = 9
and t10.id = t.id
and t10.mes = 10
and t11.id = t.id
and t11.mes = 11
and t12.id = t.id
and t12.mes = 12
order by id
No se si será demasiado eficiente, pero debería funcionar.
¿Te has planteado cambiar la estructura de la base de datos, porque me da que no está ni en 3 forma normal?
Volver a Informática