FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
El SQL que envías es teoricamente igual a este con JOINS. Pruébalo y nos cuentas...
|
#2
|
||||||
|
||||||
Gracias por viestras respuestas.
Cita:
Cita:
Cita:
Con el código que puse yo en el primer mensaje sale esto: Cita:
Cita:
Cita:
Última edición por Angel.Matilla fecha: 08-06-2018 a las 10:19:19. |
#3
|
||||
|
||||
Te sugiero hacer un SQL que te devuelva las lineas que va a sumar (Básicamente quitar el GROUP BY) y ver que sale.
Seguramente veras que se repite 10 veces algún "Identificador" por cada "NOMBRE". Por los resultados que muestras, me docy cuenta que está multiplicando por 10 el valor que consideras correcto. Esto implica que cada "NOMBRE" se está repitiendo 10 veces con esta forma de unir las tablas. Yo supongo que debe haber
Si este es el problema, deberás corregir el SQL para que te devuelva 1 solo registro por cada DATLOC. |
#4
|
||||
|
||||
Estoy corrigiendo ahora la estructira de las tabals (me he dado cuenta que me faltan algunas columnas en las definiciones), pero en cuanto termine de adaptarlas probaré lo que me dices. Gracias.
|
#5
|
||||
|
||||
Cita:
No obstante, como comentaba el otro día, he tenido que modificar un poco la estructura de las tablas (básicamente he tenido que añadir un nuevo campo en varias de ellas), pero sigo sin conseguir lo que busco. He cambiado el query a este otro, ya con las tablas modificadas, para comprobar la sugerencia de duilioisola: Código PHP:
En total salen 100 líneas, que es correcto y los datos que muestra están bien. Pero si ahora si hago SÓLO el SUM(D.Censo) con SELECT DISTINCT B.Nombre, SUM(D.Censo), en vez de los 58211 que debería dar salen los 52 millones. Perplejo estoy. |
#6
|
||||
|
||||
Pero nada que pones los datos iniciales, solo los resultados.
Haznos unas tablas con ejemplos representativos de las filas.
__________________
El malabarista. |
#7
|
||||
|
||||
Supongo entonces, que deberás hacer subselects:
Básicamente, haces un select que te devuelva lo que quieres (SELECT que solo devuelve nombre de junta agrupado). Por cada registro haces un select que en el where filtre lo que corresponda con ese registro. Es importante que solo devuelve un solo resultado. (SELECT SUM(), COUNT(), FIRST 1) Ejemplo:
|
#8
|
||||
|
||||
Gracias por la idea. Estaba dándole vueltas a algo similar desde ayer pero no se me ocurría como. Voy a probarlo ahora mismo.
|
#9
|
||||
|
||||
¡Perfecto! Me ha quedado así:
Código PHP:
|
#10
|
||||
|
||||
Sugerencia de estilo:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Select count sin group by? | zazexx | SQL | 5 | 07-08-2008 15:27:11 |
Ayuda con Select Count | aanil | SQL | 16 | 13-05-2008 22:12:34 |
Mejorar SELECT COUNT | ferjavrec2 | SQL | 0 | 01-06-2007 21:00:00 |
valor de SELECT COUNT | maruenda | SQL | 15 | 25-05-2007 22:58:38 |
Select Count (distinct X) | lunatiko | SQL | 2 | 17-10-2004 21:06:45 |
|