Olá.
Ou também colocar entre colchetes o nome original, assim:
[Nome Cliente]
Saudações.
Avalados por :
Boa tarde,
Estou fazendo uma consulta, da qual vou dar um exemplo porque é muito mais complexa, para ver se você pode me ajudar:
Select T.CardName AS 'Nome do Cliente', SUM(T.DocTotal) AS 'Total Líquido Total'
from
(
SELECT
CardName AS 'Nome do Cliente',
DocTotal AS 'Total Líquido'
FROM
OINV
WHERE CardName ='VIAJES TIME TRAVEL CT'
UNION ALL
SELECT
CardName AS 'Nome do Cliente',
-DocTotal AS 'Total Líquido'
FROM ORIN
WHERE CardName ='VIAJES TIME TRAVEL CT'
) T
GROUP BY T.CardName
Estou recebendo a seguinte mensagem de erro:
Msg 207, Nível 16, Estado 1, Linha 25. Nome da coluna inválido 'CardName'.
Msg 207, Nível 16, Estado 1, Linha 2. Nome da coluna inválido 'CardName'.
Msg 207, Nível 16, Estado 1, Linha 2. Nome da coluna inválido 'DocTotal'.
Alguém poderia me ajudar a realizar esta consulta de união de outras 2 subconsultas?
Muito obrigado
Olá.
Ou também colocar entre colchetes o nome original, assim:
[Nome Cliente]
Saudações.
Muito obrigado!
Você acertou em cheio, era exatamente o que eu estava procurando.
A única coisa que tive que fazer para funcionar foi adicionar o sublinhado nos aliases desta forma:
"Nome_Cliente" em vez de "Nome Cliente" e funciona perfeitamente.
Um abraço!
O que acontece é que ao fazer o select * from T, você está usando o nome dos campos (cardname, etc.), o que você deve fazer é usar T.[Alias do campo] porque está usando alias nas consultas unidas pelo UNION
TENTE
Select T.Nome Cliente, SUM (T.Total Líquido) AS 'Soma Total Líquido'
from
(
SELECT
CardName AS 'Nome Cliente',
DocTotal AS 'Total Líquido'
FROM
OINV
WHERE CardName ='VIAJES TIME TRAVEL CT'
UNION ALL
SELECT
CardName AS 'Nome Cliente',
-DocTotal AS 'Total Líquido'
FROM ORIN
WHERE CardName ='VIAJES TIME TRAVEL CT'
) T
GROUP BY T.CardName
O que acontece é que ao fazer o select * from T, você está usando os nomes dos campos (cardname, etc). O que você deve fazer é usar T.[Alias do campo] já que você está usando alias nas consultas unidas pelo UNION.
TENTE
Select T.Nome Cliente, SUM (T.Total Líquido )AS 'Soma Total Líquido'
from
(
SELECT
CardName AS 'Nome Cliente',
DocTotal AS 'Total Líquido'
FROM
OINV
WHERE CardName ='VIAJES TIME TRAVEL CT'
UNION ALL
SELECT
CardName AS 'Nome Cliente',
-DocTotal AS 'Total Líquido'
FROM ORIN
WHERE CardName ='VIAJES TIME TRAVEL CT'
) T
GROUP BY T.CardName
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute