Usuário com melhor resposta
Ajuda com comando SQL

Pergunta
-
Ola pessoal,
Preciso ver se existe a possibilidade de alguem me ajudar no comando abaixo:
select tblwritipologradouro.TipoLogradouro, tblWRILogradouros.Logradouro, tblwrilogradouros.bairro, tblwriloteamento.Loteamento,
tblwrilocalizacao.FK_tblWRILoteamento_Id
from tblwrilogradouros
inner join tblwriloteamento on tblwriloteamento.FK_tblWRICidades_Id = tblwrilogradouros.FK_tblWRICidades_Id
inner join tblWRILocalizacao on tblwrilocalizacao.FK_tblWRILogradouros_Id = tblwrilogradouros.PK_Id
inner join tblWRITipoLogradouro on tblwritipologradouro.PK_Id = tblwrilogradouros.FK_tblWRITipoLogradouro_Id
where tblwrilogradouros.bairro = tblwriloteamento.Loteamento
and tblwrilocalizacao.FK_tblWRILoteamento_Id is null
order by logradouro asc
O comando acima tras o resultado abaixo em 21 mil registros:
TipoLogradouro Logradouro bairro Loteamento FK_tblWRILoteamento_Id
Rua 03 Jardim Tropical JARDIM TROPICAL NULL
Rua 04 Jardim Paulista JARDIM PAULISTA NULL
Meu problema é que eu preciso atualizar (update), o campo FK_tblwriloteamento com o PK_ID da tabela tblwriloteamento,
para isso eu precisava que o FROM fosse da tabela tblwrilocalizacao que é onde esta o campo FK_tblwriloteamento.
porem se eu fizer isso o resultado final é 0, ou seja nao me traz nenhum registro, caso o FROM seja da tabela
de tbwrilocalizacao e eu preciso das condições que estão clausula where.
where tblwrilogradouros.bairro = tblwriloteamento.Loteamento
and tblwrilocalizacao.FK_tblWRILoteamento_Id is null
ALGUEM PODE ME AJUDAR COM ISSO ?
Respostas
-
Boa tarde,
Eduardo, como ficou a sua query? Dessa forma?
from tblWRILocalizacao inner join tblwrilogradouros on tblwrilogradouros.PK_Id = tblwrilocalizacao.FK_tblWRILogradouros_Id inner join tblwriloteamento on tblwriloteamento.FK_tblWRICidades_Id = tblwrilogradouros.FK_tblWRICidades_Id inner join tblWRITipoLogradouro on tblwritipologradouro.PK_Id = tblwrilogradouros.FK_tblWRITipoLogradouro_Id
De qualquer forma, acho que não é necessário deixar a tabela tblwrilocalizacao após o From para executar o Update:
update tblWRILocalizacao set FK_tblwriloteamento = tblwriloteamento.Loteamento from tblwrilogradouros inner join tblwriloteamento on tblwriloteamento.FK_tblWRICidades_Id = tblwrilogradouros.FK_tblWRICidades_Id inner join tblWRILocalizacao on tblwrilocalizacao.FK_tblWRILogradouros_Id = tblwrilogradouros.PK_Id inner join tblWRITipoLogradouro on tblwritipologradouro.PK_Id = tblwrilogradouros.FK_tblWRITipoLogradouro_Id where tblwrilogradouros.bairro = tblwriloteamento.Loteamento and tblwrilocalizacao.FK_tblWRILoteamento_Id is null
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Eduardo_soncim quarta-feira, 11 de dezembro de 2013 10:32
Todas as Respostas
-
Boa tarde,
Eduardo, como ficou a sua query? Dessa forma?
from tblWRILocalizacao inner join tblwrilogradouros on tblwrilogradouros.PK_Id = tblwrilocalizacao.FK_tblWRILogradouros_Id inner join tblwriloteamento on tblwriloteamento.FK_tblWRICidades_Id = tblwrilogradouros.FK_tblWRICidades_Id inner join tblWRITipoLogradouro on tblwritipologradouro.PK_Id = tblwrilogradouros.FK_tblWRITipoLogradouro_Id
De qualquer forma, acho que não é necessário deixar a tabela tblwrilocalizacao após o From para executar o Update:
update tblWRILocalizacao set FK_tblwriloteamento = tblwriloteamento.Loteamento from tblwrilogradouros inner join tblwriloteamento on tblwriloteamento.FK_tblWRICidades_Id = tblwrilogradouros.FK_tblWRICidades_Id inner join tblWRILocalizacao on tblwrilocalizacao.FK_tblWRILogradouros_Id = tblwrilogradouros.PK_Id inner join tblWRITipoLogradouro on tblwritipologradouro.PK_Id = tblwrilogradouros.FK_tblWRITipoLogradouro_Id where tblwrilogradouros.bairro = tblwriloteamento.Loteamento and tblwrilocalizacao.FK_tblWRILoteamento_Id is null
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Eduardo_soncim quarta-feira, 11 de dezembro de 2013 10:32
-
Obrigado pela ajuda, acredito que vai executar, porem deu esse erro:
Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'VILA RICA' to data type smallint.Acredito que o erro venha da tabela tblwriloteamentos que tem esse conteudo:
PK_ID Loteamento
60 VILA RICA 40 0 NULL 1 Itanguá 1967-11-03 00:00:00 0
Como posso resolver?
-