Buenas Tardes modeff, creo que falto alguna información con respecto a la estructura de tus tablas y tus datos, pues no sé de donde sacas el campo id_concepto que aparece en tu where. Pero vamos a ver si más o menos entendí lo que quieres.
Supongamos que tu tabla temas tiene más o menos los siguientes datos:
Código:
id|nombre_tema
----------------
1|Tema 1
2|Tema 2
3|Tema 3
Supongamos que tu tabla sitios_web_por_tema tiene más o menos los siguientes datos:
Código:
id|id_tema|sitio_web|enlace_web|idioma
---------------------------
1|1|sitio 1|enlace 1|5
2|1|sitio 2|enlace 2|5
3|1|sitio 3|enlace 3|5
4|2|sitio 4|enlace 4|5
5|2|sitio 5|enlace 5|5
6|2|sitio 6|enlace 6|5
Puedes probar con esto a ver si te funciona:
Código SQL:
Ver originalSELECT 1 AS nivel, id, T1.nombre_tema AS descripcion FROM temas T1
UNION
SELECT 2 AS nivel, W.id_tema AS id, W.enlace_web AS descripcion
FROM sitios_web_por_tema W INNER JOIN temas T2 ON W.id_tema = T2.id
WHERE idioma = '5'
--Agregar la condición para id_concepto
ORDER BY id, nivel, descripcion
Esta consulta te regresa lo siguiente:
Código:
nivel|id|descripcion
------------------------
1|1|Tema 1
2|1|Enlace 1
2|1|Enlace 2
2|1|Enlace 3
1|2|Tema 2
2|2|Enlace 4
2|2|Enlace 5
2|2|Enlace 6
1|3|Tema 3
Saludos
Leo.