Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá meu sql esta duplicando os registros , nunca vi isto o codigo é este
$sintax = "SELECT imovel.*,distribuicao_imovel.*,tipo_imovel.*,bairro.*,img_imovel.*,estados.*,cidades.*
FROM imovel
INNER JOIN distribuicao_imovel ON distribuicao_imovel.id_imovel = imovel.id
INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id
INNER JOIN bairro ON bairro.id = imovel.cod_bairro
INNER JOIN img_imovel ON img_imovel.id_imovel = imovel.id
INNER JOIN estados ON estados.cod_estados = imovel.cod_estado
INNER JOIN cidades ON cidades.cod_cidades = imovel.cod_cidade
WHERE cod_condicao = '1' AND distribuicao_imovel.verifica = '1' AND imovel.autorizo = '1' ORDER BY imovel.id DESC";
o resultado é :
SELECT imovel.,distribuicao_imovel.,tipo_imovel.,bairro.,img_imovel.,estados.,cidades.* FROM imovel INNER JOIN distribuicao_imovel ON distribuicao_imovel.id_imovel = imovel.id INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id INNER JOIN bairro ON bairro.id = imovel.cod_bairro INNER JOIN img_imovel ON img_imovel.id_imovel = imovel.id INNER JOIN estados ON estados.cod_estados = imovel.cod_estado INNER JOIN cidades ON cidades.cod_cidades = imovel.cod_cidade WHERE cod_condicao = '1' AND distribuicao_imovel.verifica = '1' AND imovel.autorizo = '1' ORDER BY imovel.id DESC
ai ele me duplica os registros sendo que existe somente 1 apenas ...
/applications/core/interface/imageproxy/imageproxy.php?img=http://img35.imageshack.us/img35/6383/qdxu.png&key=41ccc2f61e83a5c8648223a40f82ae96f1be470c32d453782035fc20e9db6d14" alt="qdxu.png" />
alguem tem noção de como isto acontece ?
nem é cara e tipo eu tirei a distribuicao_imovel e ele nao duplico mais ... !!! gostaria de saber o pq ta fazendo isso
o banco nao foi eu que modelei
da olhada ele cadastra o produto em todos .. porem o verifica é só quem esta com checked rs kk go horse
/applications/core/interface/imageproxy/imageproxy.php?img=http://img19.imageshack.us/img19/8365/pr0e.png&key=7724e6ac1f58547ce731f639c49abb6945d497366a8531f2eed7dce344b7d57f" alt="pr0e.png" />
e tava errado ali era WHERE imovel.cod_condicao e tava somente cod_condicao mas nao mudo nada tbm
SELECT imovel.,distribuicao_imovel.,tipo_imovel.,bairro.,img_imovel.,estados.,cidades.* FROM imovel INNER JOIN distribuicao_imovel ON distribuicao_imovel.id_imovel = imovel.id INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id INNER JOIN bairro ON bairro.id = imovel.cod_bairro INNER JOIN img_imovel ON img_imovel.id_imovel = imovel.id INNER JOIN estados ON estados.cod_estados = imovel.cod_estado INNER JOIN cidades ON cidades.cod_cidades = imovel.cod_cidade WHERE cod_condicao = '1' AND distribuicao_imovel.verifica = '1' AND imovel.autorizo = '1' GROUP BY imovel.id ORDER BY imovel.id DESC
isso ajuda?
>
SELECT imovel.,distribuicao_imovel.,tipo_imovel.,bairro.,img_imovel.,estados.,cidades.* FROM imovel INNER JOIN distribuicao_imovel ON distribuicao_imovel.id_imovel = imovel.id INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id INNER JOIN bairro ON bairro.id = imovel.cod_bairro INNER JOIN img_imovel ON img_imovel.id_imovel = imovel.id INNER JOIN estados ON estados.cod_estados = imovel.cod_estado INNER JOIN cidades ON cidades.cod_cidades = imovel.cod_cidade WHERE cod_condicao = '1' AND distribuicao_imovel.verifica = '1' AND imovel.autorizo = '1' GROUP BY imovel.id ORDER BY imovel.id DESC
isso ajuda?
simplesmente foda, parabens valeu :)
ficou assim então tinha outro error que o Andre Luiz me ajudou também
o cod tipo inner estava errado
SELECT imovel.,distribuicao_imovel.,tipo_imovel.,bairro.,img_imovel.,estados.,cidades.* FROM imovel
INNER JOIN distribuicao_imovel ON distribuicao_imovel.id_imovel = imovel.id
INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.cod_tipo
INNER JOIN bairro ON bairro.id = imovel.cod_bairro
INNER JOIN img_imovel ON img_imovel.id_imovel = imovel.id
INNER JOIN estados ON estados.cod_estados = imovel.cod_estado
INNER JOIN cidades ON cidades.cod_cidades = imovel.cod_cidade
WHERE imovel.cod_condicao = '1' AND distribuicao_imovel.verifica = '1' AND imovel.autorizo = '1' GROUP BY imovel.id ORDER BY imovel.id DESC
Olá Keven,
Legal que conseguiu "resolver", mas atenção, o group by está lhe dando uma falsa informação, pois, o problema de duplicidade ainda pode existir, recomendo verificar o que esta gerando esta duplicidade.
Se o select esta certo, veja se não existem dados duplicados nas tabelas.
_ _
Fabiano Abreu
não há não fabiano eu conferi 1 por vez rsrss o distinct me garantiu isto também
Olá Keven,
Observando sua query e, imaginando sua estrutura de tabelas, creio que exista um erro na linha do inner join das tabelas tipo_imovel com imovel, ao invés de:
INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id
Não seria:
INNER JOIN tipo_imovel ON tipo_imovel.id = imovel.id_tipo_imovel
Caso não seja, faça o seguinte, comente todas as tabelas abaixo do inner join de imovel com distribuicao (e retire-os do select, claro), execute a consulta, se não apresentar duplicados, o problema não esta ai, vá retirando os comentários e executando, com certeza chegará ao erro.
Espero ter ajudado, abraços.
_ _
Fabiano Abreu
Papo SQL