A ver, estoy intentando hacer una consulta complicada. Tengo una tabla, con 2 campos: id, y id_prev.
Imaginaos una tabla así:
Cita:
Lo que quiero sacar es por ejemplo, los id que tengan como id_prev otros id que como id_prev sea NULL (no se si me explico). En el ejemplo, querría sacar 2 y 7.id id_prev
------------------
1 NULL
2 1
3 2
4 3
5 NULL
6 4
7 5
8 6
9 7
10 8
------------------
1 NULL
2 1
3 2
4 3
5 NULL
6 4
7 5
8 6
9 7
10 8
El caso es que tengo hechas las consultas, pero son muy lentas (ya que hago esto hasta 5 niveles). Os pongo las consultas que yo tengo:
Cita:
Muchas gracias. SELECT id FROM tabla WHERE id_prev IS NULL
Y ahora por cada registro devuelto, hago:
SELECT id FROM tabla WHERE id_prev=´registrodevuelto´
Esto me va muy lento (ya que como os digo, lo hago hasta 5 niveles). Tenéis alguna idea de como optimizar esto??
Y ahora por cada registro devuelto, hago:
SELECT id FROM tabla WHERE id_prev=´registrodevuelto´
Esto me va muy lento (ya que como os digo, lo hago hasta 5 niveles). Tenéis alguna idea de como optimizar esto??