J'utilise SQL Server Management Studio version 11.0.3128.0 avec SQL Server 2012.Erreur de syntaxe SQL Server Management Studio sur la jointure gauche?
J'ai cette requête, qui fonctionne quand je l'exécute, mais SSMS n'arrête pas de dire que sont des erreurs de syntaxe dans mon SQL, bien qu'il fonctionne bien . L'erreur est
L'identificateur en plusieurs parties bsr.budgetId ne pouvait pas être lié
et un
erreur de syntaxe à la ligne 2
SELECT
bh.cpNo as CodigoDoPedido,
df.registerDate as DataFechamento,
meh.pedidoCliente as NumeroDePedidoDoCliente,
bh.deliveryDate as DataEntrega,
ch.clientText as NomeCliente,
ah.addressCep as CEPEnderecoCliente,
ah.addressDistrict as DistritoEnderecoCliente,
ah.addressInfo as InfoEnderecoCliente,
ah.addressInfo2 as Info2EnderecoCliente,
ah.addressInfo3 as Info3EnderecoCliente,
ah.addressText as TextEnderecoCliente,
cih.cityText as CidadeEnderecoCliente,
sh.stateText as EstadoEnderecoCliente,
coh.countryText as PaisEnderecoCliente,
comh.commInfo as TelefoneCliente,
buh.buildText as ProjetoOrcamento,
bh.valorCustoDocumentacao as CustoDocumentacaoOrcamento,
bh.valorTotalEstrangeiro as ValorTotalEstrangeiroOrcamento
from
_budget_hdr as bh
left join (
select
bsr2.budgetId,
min(bsr2.registerId) as registerId
from _budgetStatus_reg as bsr2
where bsr2.budgetStatusId = 4
group by bsr2.budgetId
) AS bsr on
bsr.budgetId = bh.budgetId
left join _budgetStatus_reg as df on
df.budgetId = bsr.budgetId AND
df.registerId = bsr.registerId
left join _minutaEletronica_hdr as meh on
meh.minutaId = bh.minutaId
left join _client_hdr as ch on
ch.clientId = bh.clientId
left join _clientAddress_rel as car on
car.clientId = ch.clientId and
car.addressTypeId = 0
left join _address_hdr as ah on
ah.addressId = car.addressId
left join city_hdr as cih on
cih.cityId = ah.cityId
left join state_hdr as sh on
sh.stateId = ah.stateId
left join country_hdr as coh on
coh.countryId = ah.countryId
left join _clientComm_rel as ccr on
ccr.clientId = ch.clientId
left join _comm_hdr as comh on
comh.commId = ccr.commId
left join build_hdr as buh on
buh.buildId = bh.buildId
where
bh.budgetId = 76089;
I abandonner, je ne sais vraiment pas ce qui ne va pas avec mon sql.
EDIT
j'ai changé cet alias répétant à bsr2, et il ne résout pas le problème
La sous-requête sur la jointure gauche a le même alias 'bsr'. Supprimer cet alias dans la sous-requête à l'intérieur et je pense que cela va le réparer. –
vous utilisez bsr deux fois, peut-être utiliser un autre nom – Alam
changé l'alias, même numéro –