PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 28 → HExecuteSQLQuery con mas de una tabla
HExecuteSQLQuery con mas de una tabla
Iniciado por GARCIA SALVADOR, jul., 30 2020 1:01 PM - 2 respostas
Membro registado
14 mensagems
Publicado em julho, 30 2020 - 1:01 PM
Buenas,

Tengo que hacer una selección con HExecuteSQLQuery de dos tablas:

HExecuteSQLQuery(UnicaQry,"SELECT tabla1.campo1, tabla1.campo2, tabla2.campo1, tabla2.campo2 FROM tabla1, tabla2 WHERE tabla1.campo1=tabla2.campo1 ORDER BY tabla1.campo1" )
FOR EACH UnicaQRY
Trace(UnicaQry.tabla1.campo1, UnicaQry.tabla1.campo2, UnicaQry.tabla2.campo1, UnicaQry.tabla2.campo2)
END

No me funciona la Trace así.

¿Alguien sabe como hacer esto?.

Un saludo,
Membro registado
14 mensagems
Publicado em julho, 30 2020 - 5:23 PM
Buenas,

Me respondo yo mismo:
HExecuteSQLQuery(UnicaQry,"SELECT tabla1.campo1 AS Campo1, tabla1.campo2 AS Campo2, tabla2.campo1 AS Campo3, tabla2.campo2 AS Campo4 FROM tabla1, tabla2 WHERE tabla1.campo1=tabla2.campo1 ORDER BY tabla1.campo1" )
FOR EACH UnicaQRY
Trace(UnicaQry.Campo1, UnicaQry.Campo2, UnicaQry.Campo3, UnicaQry.tabla2.Campo4)
END

Esto así funciona.
Publicado em outubro, 14 2020 - 7:26 PM
Tambien puedes hacer asi:

sData is Data Source
sText is string = [
SELECT tabla1.campo1 AS Campo1, tabla1.campo2 AS Campo2, tabla2.campo1 AS Campo3, tabla2.campo2 AS Campo4 FROM tabla1, tabla2 WHERE tabla1.campo1=tabla2.campo1 ORDER BY tabla1.campo1
]
IF HExecuteSQLQuery(sData,hQueryDefault,sText)=True THEN
FOR EACH sData
Trace(sData.campo1, sData.campo2, sData.campo3, sData.campo4)
END
END