Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2005
pjjorda pjjorda is offline
Miembro
 
Registrado: jul 2005
Posts: 34
Poder: 0
pjjorda Va por buen camino
creacion de sentencia SQL

Saludos,

no se me ocurría que poner en el título del mensaje,

querría definir una sentencia SQL, que me genere dos registros,
uno con los clientes con numero < 5000 y otro con los > 4999,
con la cantidad de albaranes de hoy,
SELECT COUNT(*) FROM ALBARANES WHERE FECHA='10/13/05'
Por supuesto el campo cliente está dentro de la tabla ALBARANES,
¿Como se puede hacer, o hay que hacer 2 sentencias?.

Gracias por anticipado.
Responder Con Cita
  #2  
Antiguo 13-10-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tendrás que explicarte mejor, porque menores de 5000, puede ser que te genere 4900 registros lo mismo ocurre con mayores de 5000, dinos exactamente lo que quieres con un ejemplo de datos reducido y resultado que quieres obtener.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 13-10-2005
pjjorda pjjorda is offline
Miembro
 
Registrado: jul 2005
Posts: 34
Poder: 0
pjjorda Va por buen camino
Gracias por tu pronta respuesta,
supongamos que la tabla ALBARANES, tiene un campo que es CLIENTE,
hoy hemos realizado 100 albaranes, el campo CLIENTE puede tener valor entre 1 y 10000,
quiero saber cuantos albaranes se han hecho a clientes con número <5000 y con número > 4999.
No se me ocurre como hacerlo en una sentencia.
Un saludo.
Responder Con Cita
  #4  
Antiguo 13-10-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si entiendo bien son 2 cosas:

Código SQL [-]
SELECT COUNT(*) FROM ALBARANES WHERE FECHA='10/13/05'
And cliente < 5000

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 13-10-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Esto lo logras haciendo un join de las tablas:

Código SQL [-]
Select count(*)
  from albaran al
       inner join cliente cl on al.idCliente = cl.idCliente
 where al.fecha = '2005-10-03'
   and cl.cliente < 5000;
   
/* y */

Select count(*)
  from albaran al
       inner join cliente cl on al.idCliente = cl.idCliente
 where al.fecha = '2005-10-03'
   and cl.cliente > 4999;

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 13-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Creo que pjjorda quiere el resultado en un solo registro, con una sola consulta.
No sé si tu Gestor pueda soportar este tipo de consulta:
Código SQL [-]
select first 1 (select count(*) from albaran where cliente<4999 and FECHA='10/13/05'),
                (select count(*) from albaran where cliente>5000 and FECHA='10/13/05')
from albaran
Suerte
__________________
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!
Responder Con Cita
  #7  
Antiguo 14-10-2005
pjjorda pjjorda is offline
Miembro
 
Registrado: jul 2005
Posts: 34
Poder: 0
pjjorda Va por buen camino
Buenos días,
acabo de ver vuestras respuestas, gracias a todos,
en especial a Vtdeleon, exactamente era eso lo que quería,
obtener dos resultados haciendo una sola consulta Select.
funciona perfecto la instrucción que has dado en firebird
(cada día me asombra más, las cosas que se pueden hacer).
Gracias y saludos a todos.
Responder Con Cita
  #8  
Antiguo 15-10-2005
jagilpe jagilpe is offline
Registrado
 
Registrado: oct 2005
Posts: 1
Poder: 0
jagilpe Va por buen camino
Creo que puedes obtener el resultado que quieres de una manera más sencilla:

SELECT (cliente<5000) AS DivisionClientes, COUNT(*)
FROM albaran
WHERE FECHA='10/13/05'
GROUP BY DivisionClientes

Con esto obtendrás dos registros, uno para cliente<5000 y otro para cliente >=5000.

P.B.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:46:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi