我試圖用你的'telefones_clinicas'和'planos_clinicas'返回'clinicas'列表。我可以有多個'telefones_clinicas'和'planos_clinicas',但這不是必需的。在JOIN中重複的SQL結果 - Codeigniter
但是,如果我有多個'telefones_clincias'或'planos_clinicas'我的SQL結果是返回重複。我該如何解決這個問題?
這裏是我的表:
表: clinicas - Clomuns: ID,autenticacao_email,autenticacao_id,cli_pag_id,descricao,照片,諾姆,QR碼,網站,ativo,創建,修改
表: telefones_clinicas - Clomuns: ID,tdc_dli_id,telefone,創建,修改
表: planos - Clomuns: ID,平
表: planos_clinicas - Clomuns: clinicas_id,planos_id
我該數據庫中有多個表,但我不」我認爲他們是問題。
在這個環節,你可以看到複製的回報:http://oakz.org/clinicas/clinicas/teste
我只有兩個「clinicas」。 id 27的'臨牀'有兩個'telefones'和四個'planos'。 id 28的'臨牀'有一個'telefones'和兩個'planos'。
他們重複我認爲兩次planos的每個結果。
public function teste(){
$this->db->trans_start();
$this->db->select('clinicas.id AS id_clinica, nome, site, especialidade, descricao, foto, ativo, clinicas.created AS criacao_clinica, qrcode, cep, logradouro, complemento, numero, bairro, cidade, uf, telefone, planos.plano AS plano');
$this->db->from('clinicas');
$this->db->join('endereco_clinica', 'clinicas.id = endereco_clinica.ecs_cli_id');
$this->db->join('Especialidades_clinicas', 'clinicas.id = Especialidades_clinicas.edc_cli_id');
$this->db->join('especialidades', 'Especialidades_clinicas.edc_esp_id = especialidades.id');
$this->db->join('planos_clinicas', 'clinicas.id = planos_clinicas.clinicas_id');
$this->db->join('telefones_clinicas', 'clinicas.id = telefones_clinicas.tdc_cli_id');
$this->db->join('planos', 'planos.id = planos_clinicas.planos_id');
$this->db->order_by('id_clinica', 'ASC');
$clinicas = $this->db->get();
$xyz = 0;
foreach($clinicas->result() as $row){
$id_clinica = $row->id_clinica;
$nome = $row->nome;
$site = $row->site;
$especialidade =$row->especialidade;
$descricao = $row->descricao;
$foto = $row->foto;
$ativo = $row->ativo;
$criacao_clinica = $row->criacao_clinica;
$qrcode = $row->qrcode;
$cep = $row->cep;
$logradouro = $row->logradouro;
$complemento = $row->complemento;
$numero = $row->numero;
$bairro = $row->bairro;
$cidade = $row->cidade;
$uf = $row->uf;
$telefone = $row->telefone;
$plano = $row->plano;
$xyz++;
echo 'tô na rodada '.$xyz;
for($i = 0; $i <= count($plano); $i++) {
echo '<pre>',print_r($plano,1),'</pre>';
echo '----------------------------------------<br>';
echo '<pre>',print_r($row,1),'</pre>';
echo '----------------------------------------<br>';
}
}
$this->db->trans_complete();
}
Tryed和返回只擁有 '平' '阿米爾'([平] =>阿米爾)重複 –