INNER JOIN trazendo mais do que deve
Olá pessoal!
Possuo o seguinte query
$queryInbox = "SELECT
mo_status.id_interno as idInterno,
mo_status.uf as uf,
mo_status.data_dlr as data,
mo_status.numero as numero,
mo_status.texto as resposta,
mt_status.operadora as operadora,
contato.nome as nome
FROM mo_status
INNER JOIN mt_status ON mo_status.numero = mt_status.numero
INNER JOIN contato ON mo_status.numero = contato.preferencial
WHERE mo_status.data_dlr BETWEEN '".$dataINICIAL." 00:00:00' AND '".$dataFINAL." 23:59:59' and mo_status.chave_especial_user='".$chave_especial."' and mo_status.pago='1' ";
Nesta query eu quero listar apenas o conteudo da tabela mo_status
Através de dados que existem na mo_status, quero relacionar com as tabelas:
mt_status
Através dessa relação, quero puxar a operadora do número caso o numero na mo_status tenha sido utilizado na tabela mt_status também. Essa relação faço através da coluna número que existe nas duas tabelas.
contato
Através dessa relação, quero puxar o nome da pessoa a qual pertence o número utilizado na mo_status caso o número conste salvo na tabela contato através da coluna preferencial
A teoria está linda porem tenho o seguinte problema:
Os registros estão sendo duplicados/triplicados.
Já tentei utilizar left/right join mas ainda assim os registros ficam duplicados.
O que preciso na query é listar apenas o conteudo da mo_status, mas através de algumas informações contidas nela, quero puxar informações de outras tabelas
Será que fazendo sub-selects eu terei o que preciso ou estou apenas utilizando de modo incorreto o inner join?
Aguardo a ajuda de vocês pessoal!
Discussão (0)
Carregando comentários...