Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

montano

Select de varias tabelas

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.