Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/08/2009, 09:25
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Subconsulta multiple (?)

Te entiendo, bigwhite,
aunque creo que la estructura que has heredado no es mala.
No voy a decirte que cambies nada de lo que tienes hecho con PHP y que parece funcionarte bien, pero quiero que veas que la base de datos te permite hacer lo mismo. Esto te buscará los sinónimos de 'rendirse'

Código sql:
Ver original
  1. SELECT palabra FROM words INNER JOIN
  2.  (SELECT w.idpalabra palabra1, w2.idpalabra palabra2 FROM word_meanings wm
  3. INNER JOIN (words w, words w2) ON (w.idpalabra = wm.palabra_id AND w2.idpalabra = wm.meaning_id)
  4.  WHERE (w.palabra = 'rendirse' OR w2.palabra = 'rendirse'))t1
  5.  ON words.idpalabra = t1.palabra1 OR words.idpalabra = t1.palabra2
  6.  WHERE words.palabra <> 'rendirse'

Seguro que hay alguna otra consulta para hacer esto.
No sé que será más eficiente si esto o lo que ya tienes, aunque creo que lo tuyo pudiera ser mejor en este caso.