Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/06/2012, 12:46
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: simular referencia cruzada en mysql

Hola de nuevo pedrodiego:

Creo que no hiciste caso a los dos primeros puntos que te comente, acerca de preguntar a San GOOGLE y buscar en el foro , pero bueno, al menos hiciste caso en ampliar la explicación de lo que necesitas...

Este temo lo hemos tratado muchas veces, (por eso la insistencia en que buscaras información)... En MySQL lamentablemente no existe el concepto de referencias cruzadas, pero tú puedes simular este tipo de consultas haciendo agrupaciones condicionales o con algunos procedimientos automáticos... checa esta liga:

http://www.artfulsoftware.com/infotree/queries.php

hay dos temas que estoy seguro te pueden ayudar:
  • Pivot table basics: rows to columns
  • Automate pivot table queries

Si tus municipios no son muchos, entonces podrías optar por hacer un SUM condicional más o menos como el ejemplo:

Código:
SUM(CASE salesperson WHEN 'bob' THEN amount ELSE 0 END ) AS 'Bob',

o

SUM(IF(salesperson='bob', amount, 0))
En tu caso, el lugar de comparar el campo salespersons pondrías el campo MUNICIPIO, y en lugar del campo amount pondrías
(d.am89 + d.am910 + d.am1011 + d.am1112) donde d es tu tabla srv_datos

Si tus municipios son muchos, poner demasiadas sumas condicionales puede resultar bastante problemático... si es el caso entonces revisa el segundo tema, ahí te muestra forma en que podrías "automatizar" tu consulta para cualquier numero de municipios.

revisa la liga, si tienes problemas POSTEA ALGO DE LO QUE INTENTASTE HACER y con gusto te ayudamos a corregir la consulta.

Saludos.
Leo.