FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
tabla no vacia con group by
Hola,
me pasa lo siguiente. Si ejecuto esta query Código:
select codigo from articulos.db where codigo=43 Pero si la query es Código:
SELECTcodigo,sum(1+codigo) FROM articulos.db WHERE codigo=43 GROUP BY CODIGO ¿El sum mete algún registro por defecto? si es así, ¿como comprobar que realmente solo hay ese registro? Gracias a todos Jon |
#2
|
||||
|
||||
Cita:
Ten en cuenta que al hacer sum(1+codigo) y siendo 43 el valor del código sumará 44 por cada registro que encuentre.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
hola,
efectivamente esta consulta tal como está no tiene sentido. He puesto esa consulta tan sencilla (a la vez que absurda) para que el problema se entendiera bien y no complicar a nadie con una query más larga que no aporta ninguna mayor información al problema. Incluso en esta query tan sencilla el IsEmpty da False cuando debería ser True. No sé si me he explicado.... Gracias! Jon |
#4
|
||||
|
||||
Cita:
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
||||
|
||||
Por lo que veo utiliza Paradox y supongo que la conexión la hará con el BDE?
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
|||
|
|||
hola a todos,
efectivamente, tal como dice marcoszorrilla, uso delphi7, paradox, y BDE. Gracias de nuevo |
#7
|
||||
|
||||
Saludos
Cita:
Nota: Esto no lo he probado, pero me resulta logico:P
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#8
|
||||
|
||||
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#9
|
||||
|
||||
Recapitulemos
Supongamos una tabla por todos conocida y las siguentes sql...
La primera versión da error ya que la columna codcli, no está incluida en ninguna función de agregado y no hay claúsula GROUP BY. Al añadirla, ya todo corre bien como es normal. La sentencia COUNT devuelve CERO si no encuentra ningún registro, por eso si la tabla está vacía o si ese registro no existe, devolverá CERO. En cualquier otro caso, el valor que le corresponda. La sentencia SUM ignora los valores nulos, por lo menos en T-SQL, por lo que si codcli es null, no debería devolver nada. Ahora bien, a mi también me puede parecer lógico que en otras implementaciones hayan adoptado la postura de devolver cero como la funcion COUNT. Saludos, y buen viaje a los que os vais de vaciones. Y cuidado con las francesas/es. |
#10
|
|||
|
|||
Muchas gracias a todos. A mi no me parecía tan lógico, pero supongo que lo será.... Abro otro hilo con otra duda...
Jon |
|
|
|