Código:
En donde: tabla1 es una lista donde cada registro puede tener un valor en a que hace referencia a un registro de tabla2 o un valor en b que refiere a un registro en zonas.SELECT DISTINCT tabla1.*, ciudades.Ciudad, provincias.Provincia, paises.Pais, tabla2.nombre AS 'rnom' FROM tabla1, zonas, ciudades, provincias, paises, tabla2 WHERE ( tabla1.a >0 AND tabla1.a = tabla2.id ) OR ( tabla1.b >0 AND ( zonas.id = tabla1.b AND ciudades.id = zonas.ciudad AND provincias.id = zonas.provincia AND paises.id = zonas.pais ) ) GROUP BY tabla1.id
Ese registro en zonas a su vez contiene un id de una ciudad, un pais y una provincia que se encuentran en las respectivas tablas.
Yo lo que quiero es traer con esa sola consulta, todos los campos de tabla1 y un campo de tabla2 o ciudad provincia y país, según corresponda.
El problema es que con el group by, el servidor literalmente muere, y sin el group by me trae cada registro de tabla1 tantas veces como registros en tabla2 hay, uno por cada registro de tabla2.
¿Cómo puedo hacer funcionar esa consulta?
Muchas gracias.
Saludos.