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.