Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
consulta del numero mayor de subregistro

Hola, pues aqui dando molestias espero que me puedan a yudar una vez mas

estoy trabajando con Delphi 6, MS SQL Server, por dedio de ADO por supuesto.

tengo una tabla llamada cotizaciones, que entre otros campos tiene cotizacion y subcotizacion. Lo que quiero es obtener la subcotizacion mas reciente de una cotizacion por ejemplo:

Cot---sub
1------1
1------2
1------3
2------1
2------2
3------1
3------2
4------1
5------1
5------2

lo que espero obtener es:

cont---sub
1------3
2------2
3------2
4------1
5------2

me imagino algo como:
'select max(sub)from cotizaciones'
pero me falta el que sea por cada una de las cotizaciones.

Gracias por su ayuda

saluods a todos

Última edición por Yun-i fecha: 28-02-2008 a las 18:40:35.
Responder Con Cita
  #2  
Antiguo 28-02-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
No lo he probado, pero sería algo así ....

Código SQL [-]
Select Distinct Co1.Cot,
(Select Max(Co2.Sub) from Cotizaciones Co2
 where Co1.Cot = Co2.Cot)
from Cotizaciones Co1

__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 28-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
¿No sería más adecuado un agrupamiento?

Código SQL [-]
select cot, max(sub)
from cotizaciones
group by cot

Bye
Responder Con Cita
  #4  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Talking

Cita:
Empezado por keyboy Ver Mensaje
¿No sería más adecuado un agrupamiento?


Código SQL [-]
select cot, max(sub)
from cotizaciones
group by cot





Bye
graciass esta solocion es tambien correcta jejejej muchas gracias por su apoyo
Responder Con Cita
  #5  
Antiguo 28-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
¿galo?

¿Qué es galo?

Bye
Responder Con Cita
  #6  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
¿galo?

¿Qué es galo?

Bye
jejeje perdon es jalo osea si que si corrio pero en el analizador de consultas de sql server.

En Delphi manda un error que dice:

"el prefijo de la comlumna Co1 no coincide con un nombre de tabla o con un alias usado en la consulta "
Responder Con Cita
  #7  
Antiguo 28-02-2008
Avatar de rulo_m
rulo_m rulo_m is offline
Miembro
 
Registrado: dic 2007
Posts: 70
Poder: 17
rulo_m Va por buen camino
me imagino que es jalo.. funciono, andubo pues..

lo de co1 y co2 son nombres con el cual hace referencia a una tabla en este caso ambas hacen referencia a cot pero al hacer el join de dos tablas que resultan ser la misma pues hay que llamarse de algun modo diferente
Responder Con Cita
  #8  
Antiguo 28-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por keyboy Ver Mensaje
¿galo?

¿Qué es galo?

Bye
Creo que lo que quiso decir el amigo es jalo... del verbo jalar

Para Yun-i, co1 y co2 son "alias" de la tabla Cotizaciones. Recomiendo la lectura de un manual o libro que trate sobre SQL.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
¿No sería más adecuado un agrupamiento?


Código SQL [-]
select cot, max(sub)
from cotizaciones
group by cot





Bye
es solo por no quedarme con la duda la verdad esque tenia que hacerlo rapido pero si me gustaria saber bine que onda con eso de los alias pero esta solucion corre en delphi de manera sencilla


gracias de antemano por todo
Responder Con Cita
  #10  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Gracias

jejej ya logrecorreslos de las dos formas son muy amables como siempre aprendiendo de estedes me queda un poco mas claro de los alias trabajae en eso para entender mejor por ahora ya lo pude correr gracias compañeros foristasss
Responder Con Cita
  #11  
Antiguo 29-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
!!!!!!!!!

me ha quedado mas calro el alias, es renombrar las colmnas de la consulta
gracias

Última edición por Yun-i fecha: 29-02-2008 a las 19:13:47.
Responder Con Cita
  #12  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Talking

Gracias GluGlu eres muy amable si galo como lo comente

no lo he corrido en delphi pero en el analizador de consultas de sql server si galo pero mi pregunta es que es co1 y co2?? solo para entender como lo hace gracias otra vez
Responder Con Cita
  #13  
Antiguo 28-02-2008
Avatar de rulo_m
rulo_m rulo_m is offline
Miembro
 
Registrado: dic 2007
Posts: 70
Poder: 17
rulo_m Va por buen camino
Cita:
Empezado por gluglu Ver Mensaje
No lo he probado, pero sería algo así ....

Código SQL [-]
Select Distinct Co1.Cot,
(Select Max(Co2.Sub) from Cotizaciones Co2
 where Co1.Cot = Co2.Cot)
from Cotizaciones Co1

Lo que hace aqui compañero es comparar los datos de 2 tablas
Código SQL [-]
where Co1.Cot = Co2.Cot
pero las dos tablas resultan ser la tabla cotizaciones entonces a cada una se le asigna un "alias" Cotizaciones Co2 y cotizaciones Co1 para saber a cual de las 2 tablas hacemos referencia en cada dato.. el dato cot viene de la pirmera tabla y el dato max(sub)viene de la segunda tabla.. a ver si me explique bien..
Responder Con Cita
  #14  
Antiguo 28-02-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Poder: 17
Yun-i Va por buen camino
Cita:
Empezado por rulo_m Ver Mensaje
.. a ver si me explique bien..
sip si te explicas bien pero el problea es que delphi no reconoce ese 'alias'
y por alguna razon manda el error antes comentado
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Fecha de mayor a menor alcides Varios 2 15-02-2008 16:46:09
Contar el numero de elementos de una consulta papulo PHP 7 02-10-2006 15:39:42
Limitar el numero de Registro de una Consulta en FireBird 1.5 Abel Garcia Firebird e Interbase 3 08-12-2004 23:57:31
¿Qué quieres ser de mayor? kinobi Humor 16 11-07-2003 13:46:30


La franja horaria es GMT +2. Ahora son las 10:52:40.


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