Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/11/2013, 02:49
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problema mysql Query

aunque desconozco el interior de wordpress, la parte de la consulta debería ser parecida a una consulta sql y , por tanto, tal vez con paréntesis encontrarás lo que quieres, pero creo que esta expresión tuya no es del todo clara:
Cita:
Lo que necesito es que seleccione los registros con las condiciones anteriores (funciona correcto), pero también que seleccione aquellos registros que su term_taxonomy_id = '8' y dentro de esos registros que seleccione los que term_taxonomy_id = '33'
Seguramente tú lo ves claro, pero para mí no lo está. ¿Qué quieres decir exactamente? tienes esto, pero ¿qué condiciones quieres que cumpla con AND? si son todas ya lo tienes, pero tal vez no es eso lo que quieres
Código MySQL:
Ver original
  1. WHERE $wpdb->posts.ID = $wpdb->top.post_id
  2.    AND $wpdb->top.DIA_FINAL >= NOW()
  3.    AND $wpdb->top.ESTADO = 'OK'
  4.    AND $wpdb->posts.ID = $wpdb->term_relationships.object_id
  5.    AND $wpdb->term_relationships.term_taxonomy_id = '8'
  6.    AND $wpdb->term_relationships.term_taxonomy_id = '33'
Lo demás se entiende bien, pero veo que posts.id lo comparas con dos campos.
$wpdb->posts.ID = $wpdb->top.post_id
AND $wpdb->posts.ID = $wpdb->term_relationships.object_id
Luego dices
Cita:
Lo que necesito es que seleccione los registros con las condiciones anteriores (funciona correcto), pero también que seleccione aquellos registros que su term_taxonomy_id = '8' y dentro de esos registros que seleccione los que term_taxonomy_id = '33'
Pero cuando dices condiciones anteriores dinos cuáles, de manera concreta, pues no sabemos si te refieres a todas o a las anteriores a term_taxonomy_id = '8'
Y cuando dices dentro de estos registros, ¿a cuáles te refieres?
Lo mejor es que lo aclares de manera más precisa.
Quiero que cumpla estas condiciones

1º $wpdb->posts.ID = $wpdb->top.post_id
y $wpdb->top.DIA_FINAL >= NOW()
y $wpdb->top.ESTADO = 'OK'
y $wpdb->posts.ID = $wpdb->term_relationships.object_id
o bien esta
$wpdb->term_relationships.term_taxonomy_id = '8'

2º pero que sea una u otra también cumpla esta: $wpdb->term_relationships.term_taxonomy_id = '33'

Por ejemplo, eso se resuelve con paréntesis y usando AND y OR, pero debemos tener claro lo que buscas, incluso es mejor ofrecer datos, aunque sea inventados. Quiero encontrar esto los que tengan este campo con este valor, y este con este, etc., pero no esto...
Así sabremos lo que quieres exactamente.