Olá,
preciso de orientação para o seguinte: em modelos de contratos estou criando um contrato que me retorne as vagas de garagem da unidade vendida, algumas unidades tem mais de uma vaga, criei uma consulta onde ela concatena todas as linhas (no caso de mais de uma vaga) como segue abaixo:
WITH CTE AS (
SELECT
XVAGA.DSC_VAGA,
XVAGA.COD_VAGA,
1 AS QTD
FROM
XVENDA
JOIN XITEMVENDA XI ON
XI.NUM_VENDA = XVENDA.NUM_VENDA
AND XI.COD_PESS_EMPR = XVENDA.COD_PESS_EMPR
LEFT JOIN XVAGA ON
XVAGA.NUM_UNID = XI.NUM_UNID
AND XVAGA.NUM_SUB_UNID = XI.NUM_SUB_UNID
AND XVAGA.COD_PESS_EMPR = XI.COD_PESS_EMPR
WHERE
XVENDA.NUM_VENDA = :FRM_001)
SELECT DISTINCT DSC_VAGA,
STUFF((SELECT ','+ cod_vaga
from CTE Q1
where Q1.DSC_VAGA=Q2.DSC_VAGA
FOR XML PATH('')),1,1,'') AS Vaga
FROM CTE Q2
SELECT DISTINCT DSC_VAGA,
STUFF((SELECT ','+COD_VAGA
from CTE Q1
where Q1.DSC_VAGA=Q2.DSC_VAGA
FOR XML PATH('')),1,1,'') as Vaga
FROM CTE Q2
O resultado me traz o seguinte:
Dsc_vaga Vaga
terreo 01,01A,30
Preciso colocar essa sql em uma fórmula dentro do modelo de contrato, mas não consigo fazer a declaração correta, minha fórmula está assim:
execsql ('sql26'); resultsql ('sql26' , 'cod_vaga') e me retorna apenas a primeira linha por exemplo retorna apenas a vaga 01, sendo que deveria retornar 01,01A,30 pois criei a SQL para isso.
Alguém pode me ajudar a declarar essa fórmula ou se tiver outra forma do contrato ler todas as linhas de vaga cadastradas na venda.
Obrigada.