GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV 2024
→
Consulta SQL en HFSQL
Consulta SQL en HFSQL
Iniciado por Carlos Lizana, fev., 16 2021 4:04 PM - 1 resposta
Conecte-se…
Carlos Lizana
#1
Publicado em fevereiro, 16 2021 - 4:04 PM
Estimados, buenas tardes. Les planteo el siguiente caso que me tiene de cabeza. Tengo dos tablas en HFSQL/CS (simplifique el problema para explicarlo mejor). La Tabla INDIV con dos campos: la llave (identificacion del individuo) y la fecha de ingreso. La Tabla DATOS (con relaciòn 1 a n; INDIV - DATOS), con dos campos, la correspondiente id del individuo y la Fecha de un Evento. Cada individuo puede tener muchos eventos en distinta fecha (un evento por fecha).
Necesito que una consulta me devuelva parea cada individuo, la segunda fecha de evento. El diagrama muestra lo que he hecho.
Extraigo la fecha minima por individuo. Guardo esa fecha en un FIC asociandolo a un datasource temporal.
Luego en un segundo select leo ese datasource y le incluyo la fecha de evtno minima por individuo que sea mayor a la fecha minima. Creo entonces un segundo fic, lo asocio a otro datasource y este lo devuelvo.
Mi pregunta es: hay una mejor forma de hacer esto?
Denunciar
0
0
friss
#2
Membro registado
60 mensagems
Popularité : +2 (2 votes)
Publicado em fevereiro, 17 2021 - 6:04 PM
Hola Carlos, te paso otra opción, no se si es mejor a la tuya pero por lo menos es una alternativa:
s
Query1
is string
s
Query1
= [
SELECT
DA01.NumID,
INDIV.FechaIngr,
(SELECT TOP 1
DA02.FechaEv
FROM
DATOS as DA02
WHERE
DA01.NumID = DA02.NumID
AND
DA02.FechaEv > INDIV.FechaIngr
ORDER BY
DA02.FechaEv) AS FechaPrimerEvento,
MIN(DA01.FechaEv) as FechaSegundoEvento
FROM
DATOS AS DA01,INDIV
WHERE
DA01.NumID = INDIV.NumID
AND
DA01.FechaEv > FechaPrimerEvento
GROUP BY
DA01.NumID, INDIV.FechaIngr, FechaPrimerEvento
]
dsData
is Data Source
HExecuteSQLQuery
(
dsData
,
hQueryDefault
,
s
Query1
)
Trace
(
"RESULTADO"
)
FOR
E
ACH dsData
Trace
(
dsData.NumID
+
", "
+
dsData.FechaPrimerEvento
)
END
HToFile
(
dsData
,
"Resultado.fic"
)
Cualquier cosa me avisás si no llega a andar, espero que sea de utilidad.
Saludos,
friss.
Denunciar
0
0
→ Voltar para WINDEV 2024
WINDEV 2024
WEBDEV 2024
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto