¿Cómo hacer esta consulta?

Iniciado por KateLibby, 9 Mayo 2012, 12:33 PM

0 Miembros y 1 Visitante están viendo este tema.

KateLibby

Hola Bulld0z3r, nos cruzamos al escribir los post.

Al final no me sirvió lo que me propusiste, ya que yo no sabía si el valor de object_id iba a ser 1. De hecho, este 1 es el que esperaba que la consulta me devolviera.

Gracias por vuestras respuestas.

HdM


CitarAl final no me sirvió lo que me propusiste, ya que yo no sabía si el valor de object_id iba a ser 1. De hecho, este 1 es el que esperaba que la consulta me devolviera.

Jejeje, respuesta esperada. Era absurdo lo que estaba proponiendo.

Ya viendo tu post, con tu solución propuesta, se entiende lo que pretendías. Creo que ganarías en eficiencia, si antes de tu primera consulta, hicieses otra, en la que teniendo capturados los valores de los parámetros, agrupases por el 'object_id' y luego con HAVING le metieses un COUNT (object_id)=Nº de parámetros. Así conseguirías sacar el 'ID' que necesitas. Es decir:

Código (php) [Seleccionar]

$sql = "SELECT wp.ID FROM wp_posts wp INNER JOIN wp_term_relationships wtr
           ON wp.ID = wtr.object_id
           WHERE  wp.post_parent = '".$tipus[$i]."' AND wp.post_type = 'page'
           AND wtr.term_taxonomy_id IN ($parametres)
           GROUP BY  wp.ID HAVING COUNT(wp.ID)=3"


En este caso se iguala a 3 el COUNT, ya que son 3, los parámetros que utilizas. Te ahorrarías el uso de funciones, bucles y condicionales.

Saludos.

- Nice to see you again -

KateLibby

Uf! Menuda consulta! La verdad es que me cuesta un poco seguirla porque hay algunas instrucciones que no he usado nunca.

De momento, como me funciona, lo dejaré como lo tengo  :rolleyes:

Gracias!