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 09-02-2021
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
No sé si entendí bien los datos de la tabla
Código SQL [-]
select max(sorteo) from ticket
where numero=(select max(numero) from tiket where pais= : pais)
Responder Con Cita
  #2  
Antiguo 09-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Gracias Kuan_yiu

Código SQL [-]
select Numero, Sorteo, Pais, max(Numero) from tiket
where Sorteo=(select max(Sorteo) from tiket where pais= : pais)
order by Sorteo desc LIMIT 1

Haciendo pruebas con tres paises no da el resultado deseado
Pais "Argentina" bien
Pais "Chile" bien
Pais "Uruguay" resultado numero max "1000000" sorte "2" pais "Argentina" cuando debería ser numero max 68 sorteo 2 pais Uruguay.
Sigo probando...

Última edición por pablocarlos fecha: 09-02-2021 a las 13:39:10.
Responder Con Cita
  #3  
Antiguo 09-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Código SQL [-]
select Numero, Sorteo, Pais, max(Numero) from tiket where Sorteo=(select max(Sorteo) from tiket where pais= : pais) order by Sorteo desc LIMIT 1
Gracias Kuan_yiu

Haciendo pruebas con tres paises no da el resultado deseado
Pais "Argentina" bien
Pais "Chile" bien
Pais "Uruguay" resultado numero max "1000000" sorte "2" pais "Argentina" cuando debería ser numero max 68 sorteo 2 pais Uruguay.
Sigo probando... Creo que debería filtrar primero por pais, luego dentro del país por max(sorteo) y dentro de país y sorteo y desde los valores encontrados mostrar el max(numero).
Responder Con Cita
  #4  
Antiguo 09-02-2021
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
Pon un ejemplo de los datos y exactamente la línea que quieres conseguir.
Responder Con Cita
  #5  
Antiguo 09-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
Pon un ejemplo de los datos y exactamente la línea que quieres conseguir.
Perfecto, Una tabla llamada tiket, campos ---> sorteo, numero, pais, id. tiket (hay otros campos pero no estàn involucrados) Concretamente necesito que busque un pais (ese sería el parametro) dentro de ese país encuentre el número de sorteo mayor (max(Sorteo) y dentro de ese rango de sorteo el numero mayor (max(numero)...
Ejemplo
tengo los siguientes datos pais uruguay (obvio hay otros paises) sorteos 1, 2, 3 (debería filtrar por el 3) numeros 1,2 ....1002 sorteo 2, números 1,2..1000 sorteo 3, (debería mostrar sorteo 3 y el numero 1000). Cerrando, con el parametro 'Uruguay' debería traer sorteo 3 numero 1000. Gracias por responder. Saludos
Responder Con Cita
  #6  
Antiguo 09-02-2021
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
Si he entendido bien quieres la línea completa. Para el país indicado el número máximo de cada sorteo.
Código SQL [-]
select a.* from tiket a
where a.pais= : pais and a.numero in
(select max(b.numero) numero from tiket b
where a.Sorteo=b.Sorteo)
order by a.sorteo
Como no indicas que motor de BD usas he tratado de hacerlo sin funciones especiales.
Responder Con Cita
  #7  
Antiguo 09-02-2021
pablocarlos pablocarlos is offline
Miembro
 
Registrado: ene 2021
Posts: 56
Poder: 4
pablocarlos Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
Si he entendido bien quieres la línea completa. Para el país indicado el número máximo de cada sorteo.
Código SQL [-]select a.* from tiket a where a.pais= : pais and a.numero in (select max(b.numero) numero from tiket b where a.Sorteo=b.Sorteo) order by a.sorteo

Como no indicas que motor de BD usas he tratado de hacerlo sin funciones especiales.
bd mysql. Lo extraño (para mi) que tus lineas funcionan en dos paises, busco un tercero y no encuentra nada, Gracias

Última edición por pablocarlos fecha: 09-02-2021 a las 17:40:33.
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
extracción en JSON Ulises PHP 9 16-10-2018 20:46:28
Extracción XBRL cincosoft Varios 0 16-12-2008 10:53:35
Extraccion de datos de un LISTVIEW ebreton31 Varios 2 22-11-2006 23:05:46
Extracción de datos en campos de fecha dec Trucos 0 29-06-2006 23:07:25
Extracción de parte de una cadena Arkaz Varios 3 02-11-2005 22:33:36


La franja horaria es GMT +2. Ahora son las 10:08:04.


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