Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/10/2011, 08:30
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 10 meses
Puntos: 535
Respuesta: Unión de resultados... SELECT anidado o qué?

Definitivamente no lo entiendo. A ver, le agregué paréntesis de cierre en las líneas 10 y 12.
Luego dio Unknown column 'T1.name (y T2.name también)' in 'field list' (líneas 3 y 4 [y 18 *]) y, claro, porque T1 (y T2) son la tabla wp_term_taxonomy. Y allí no existe el campo name. Existen T[1/2].taxonomy y TR.name. Así que me arriesgué (ya que no sé qué estoy haciendo realmente) y los reemplacé por T[1/2].taxonomy.

(esto ya es un despelote de BBCODES FONT="Courier New")

Vuelvo a ejecutar y MySQL-Front me dice.

Cita:
Error de ejecución SQL # 1054. Respuesta de la base de datos:
Unknown column 'T.taxonomy' in 'where clause'
Y ahí que pongo? T1, T2? Ok, pruebo los 2 (modificando esto también *) y me da un resultado que no espero (agrego el campo P.ID en la línea 1):


Código:
ID	name		Categoria		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
61	Ciudad1		category		tipo
....
... y lo mismo para los restantes 5 registros. O sea, cada registro repetido 8 veces. 6*8 = 48 registros cuando deberían ser 6.


Finalmente el query lo dejé así:



Código MySQL:
Ver original
  1.         P.ID, TR.name,
  2.         T1.taxonomy Categoria,
  3.         T2.taxonomy tipo
  4.     FROM
  5.         wp_posts  P
  6.         INNER JOIN
  7.         wp_term_relationships R ON P.ID = R.object_id
  8.         INNER JOIN
  9.         (SELECT * FROM wp_term_taxonomy WHERE taxonomy = 'category') T1 ON (R.term_taxonomy_id = T1.term_taxonomy_id)
  10.         INNER JOIN
  11.         (SELECT * FROM wp_term_taxonomy WHERE taxonomy = 'tipo') T2 ON (R.term_taxonomy_id = T1.term_taxonomy_id)
  12.         INNER JOIN
  13.         wp_terms TR ON (T1.term_id = TR.term_id)  
  14.     WHERE
  15.         P.post_type = 'alojamiento' AND P.post_status = 'publish' AND T1.taxonomy IN('tipo', 'category')
  16.     ORDER BY
  17.         T1.taxonomy, T2.taxonomy ASC;


Nada... sólo si tenés ganas. Porque me parece que lo voy a hacer como dije antes: obteniendo el listado de ciudades y por cada una de ellas ejecutar la query que me devuelva sus alojamientos ordenados por tipo.

Gracias
__________________
...___...