montano 0 Denunciar post Postado Outubro 16, 2009 Bom dia pessoal, preciso fazer um select de varias tabelas porem algumas tem nome de campos iguais EX: funcionarios.nome, clientes.nome , e eu preciso listar esses nomes depois, eu pensei em usar um funcionarios.nome as nfunc, clientes.nome as ncliente, mas ta dando erro: SELECT contrato_pme.regiao as regiao,contrato_pme.cod as cod,contrato_pme.n_contrato as n_contrato,contrato_pme.data_venda as data_venda,contrato_pme.data_agendamento as data_agendamento,contrato_pme.data_situacao as data_situacao,contrato_pme.backoffice as backoffice,contrato_pme.comentario as comentario,produtos.produto as produto,clientes.nome as ncliente,situacoes.situacao as situacao,funcionarios.nome as nfunc FROM contrato_pme,produtos,clientes,situacoes,funcionarios WHERE contrato_pme.produto = produtos.cod AND contrato_pme.cliente = clientes.cod AND contrato_pme.situacao = situacoes.cod AND contrato_pme.vendedor = funcionarios.cod AND contrato_pme.ta = funcionarios.cod AND contrato_pme.regiao ='1' Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 16, 2009 Coloque a mensagem de erro que esta aparecendo. Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Outubro 16, 2009 Nao esta dando erro, mas n me retorna nada. estou manipulando os dados assim: while ($row = mysqli_fetch_assoc($result)) { // Encapsulamento $registros[self::$ponteiro] = new Pme(); $registros[self::$ponteiro]->setCod($row['cod']); $registros[self::$ponteiro]->setNContrato($row['n_contrato']); $registros[self::$ponteiro]->setProduto($row['produto']); //fk $registros[self::$ponteiro]->setCliente($row['ncliente']); //Fkey $registros[self::$ponteiro]->setDataVenda($row['data_venda']); $registros[self::$ponteiro]->setDataAgendamento($row['data_agendamento']); $registros[self::$ponteiro]->setSituacao($row['situacao']); //Fkey $registros[self::$ponteiro]->setDataSituacao($row['data_situacao']); $registros[self::$ponteiro]->setVendedor($row['nfunc']); //Fkey $registros[self::$ponteiro]->setTa($row['nfunc']); //Fkey $registros[self::$ponteiro]->setBackoffice($row['backoffice']); $registros[self::$ponteiro]->setPortabilidade($row['portabilidade']); //Fkey $registros[self::$ponteiro]->setQntPortabilidade($row['qnt_portabilidade']); $registros[self::$ponteiro]->setComentario($row['comentario']); self::$ponteiro++; } Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 16, 2009 Faz um teste executando somente o SQL no BD Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Outubro 16, 2009 MySQL retornou um conjunto vazio (ex. zero registros). (Consulta levou 0.0141 segundos) ¬¬, até ele nao achou.. sera que é erro de combinação ali das tabelas? esta assim no momento SELECT contrato_pme.regiao AS regiao, contrato_pme.cod AS cod, contrato_pme.n_contrato AS n_contrato, contrato_pme.data_venda AS data_venda, contrato_pme.data_agendamento AS data_agendamento, contrato_pme.data_situacao AS data_situacao, contrato_pme.backoffice AS backoffice, contrato_pme.comentario AS comentario, produtos.produto AS produto, clientes.nome AS ncliente, situacoes.situacao AS situacao, funcionarios.nome AS nfunc FROM contrato_pme, produtos, clientes, situacoes, funcionarios WHERE contrato_pme.produto = produtos.cod AND contrato_pme.cliente = clientes.cod AND contrato_pme.situacao = situacoes.cod AND contrato_pme.vendedor = funcionarios.cod AND contrato_pme.ta = funcionarios.cod AND contrato_pme.regiao = '1' LIMIT 0 , 30 Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Outubro 16, 2009 Marcio, Descobri a causa do erro. Existe um campo que eu estou comparando que esta vazio. seria o de ta, quando eu compara "contrato_pme.ta = funcionarios.cod" ele nao me acha nada, porque contrato_pme.ta esta = 0, ai ele nao me lista essa linha, como esta 0 em todos, ele nao me retorna nada. Como eu posso fazer esse select? eu to fazendo ele assim porque na minha tabela contrato_pme tem varios campos FK, entao estou buscando nas tabelas PK. entende? valeuu Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 16, 2009 Não sei exatamente a sua estrutura de tabelas, mas remova a restrição AND contrato_pme.ta = funcionarios.cod Pois o FUNCIONARIOS já bate com AND contrato_pme.vendedor = funcionarios.cod Compartilhar este post Link para o post Compartilhar em outros sites