Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2011, 15:24
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
Unión de resultados... SELECT anidado o qué?

(Perdón el título, pero este tema me tiene un poco descerebrado y ya no puedo pensar)

Explico primero el propósito: presentar un listado de alojamientos agrupados por 1) ciudad y 2) tipo.

Estoy usando Wordpress (acá está el diagrama de la estructura de datos) y, como no tiene ninguna función para hacer lo que deseo (el ordenamiento o agrupamiento aquel), tengo que meter mano directamente a la BD... pero me sobrepasó. Sobre todo al darme cuenta que el nombre de la "ciudad" y el nombre del "tipo" salen del mismo campo.

Tengo dos sentencias SQL, que a continuación coloco, que me devuelven los siguentes resultados (de ejemplo):

Código:
query 1: en la taxonomía (wp_term_taxonomy.taxonomy) 'category' están las ciudades como términos (wp_terms.name)

SELECT   wp_terms.name, wp_posts.* FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) INNER JOIN wp_terms ON (wp_term_taxonomy.term_id = wp_terms.term_id)  WHERE 1=1  AND wp_posts.post_type = 'alojamiento' AND (wp_posts.post_status = 'publish') AND wp_term_taxonomy.taxonomy = 'category'  ORDER BY wp_terms.name ASC

ID	name
110	Ciudad1
61	Ciudad1
80	Ciudad1
82	Ciudad1
78	Ciudad1
76	Ciudad2

Código:
query 2: en la taxonomía (wp_term_taxonomy.taxonomy) 'tipo' están los tipos como términos (wp_terms.name)

SELECT   wp_terms.name, wp_posts.* FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) INNER JOIN wp_terms ON (wp_term_taxonomy.term_id = wp_terms.term_id)  WHERE 1=1  AND wp_posts.post_type = 'alojamiento' AND (wp_posts.post_status = 'publish') AND wp_term_taxonomy.taxonomy = 'tipo'  ORDER BY wp_terms.name ASC

ID	name
78	Cabaña
82	Camping
110	Hotel
80	Hotel
76	Hotel
61	Posada
Y necesito hacer "una mezcla" de ellas... es decir, anexar el campo name de la segunda a la primera y... además debe quedar ordenado por name (query 1) ASC, name (query 2) ASC

Código:
query deseada:

ID	name (query 1)	name (query 2)
78	Ciudad1		Cabaña
82	Ciudad1		Camping
110	Ciudad1		Hotel
80	Ciudad1		Hotel
61	Ciudad1		Posada
76	Ciudad2		Hotel


Debería hacr algo así?:

Código:
SELECT   wp_terms.name AS name_query_1, (SELECT wp_terms.name FROM... ¿WHERE?) AS name_query_2, wp_posts.* FROM [... BLA!... ]
Me estoy explicando bien?
__________________
...___...