Hola.
Tengo la siguiente consulta, que funciona correctamente, pero el caso es que necesitaría hacerlo todo dentro de un solo SELECT (si es posible), ya que tengo un documento php que luego trabaja sobre el texto de esta consulta y si encuentra dos SELECTs en la misma consulta no funciona correctamente.
(SELECT Id_microrrelato, Titulo, Texto, Idioma, Fecha
FROM microrrelato INNER JOIN bachillerato ON microrrelato.Id_alu=bachillerato.Identificacion
WHERE microrrelato.Idioma='Castellano')
UNION
(SELECT Id_microrrelato, Titulo, Texto, Idioma, Fecha
FROM microrrelato INNER JOIN ciclo ON microrrelato.Id_alu=ciclo.Identificacion
WHERE microrrelato.Idioma='Castellano')
ORDER BY Id_microrrelato DESC
Había pensado algo como esto, pero no me devuelve ninguna fila.
SELECT Id_microrrelato, Titulo, Texto, Idioma, Fecha
FROM microrrelato
RIGHT JOIN (
bachillerato, ciclo
) ON ( microrrelato.Id_alu = bachillerato.Identificacion
OR microrrelato.Id_alu = ciclo.Identificacion )
WHERE microrrelato.Idioma = 'Castellano'
ORDER BY Id_microrrelato DESC
Si existe alguna forma de hacerlo todo en dentro de un solo SELECT, agradecería mucho que me pudiesen ayudar.
Gracias.