2017-11-14 2 views
0

ich geschrieben Abfrage Datensatz tpl_upload_csv_file von Haupt Tisch zu bekommen und den dazugehörigen Datensatz erhalten von tbl_process_csv. Ich bekomme alle Datensätze, aber das Problem ist, wenn ich 1 ID von tpl_upload_csv_file in tbl_process_csv für 5 Zeilen seine Anzeige 5 mal. Derselbe Datensatz wird 5 Mal angezeigt.LEFT JOIN funktioniert nicht in codeigniter

$this->db->select('tbl_process_csv.id, tbl_process_csv.record_no, tbl_process_csv.reason,tpl_upload_csv_file.uploaded_file_name, tpl_upload_csv_file.uploaded_date_time'); 
$this->db->from('tpl_upload_csv_file'); 
$this->db->where('tbl_process_csv.process_status', 3); 
$this->db->join('tbl_process_csv', 'tbl_process_csv.csv_file_id = tpl_upload_csv_file.id', 'left'); 
$this->db->order_by('tbl_process_csv.date_of_processing', 'desc'); 
$query = $this->db->get(); 
print_r($query->result());die; 
return $query->result(); 

Meine Tabellenstruktur ist

tpl_upload_csv_file:

  • id
  • uploaded_file_name
  • uploaded_date_time
  • records_available

tbl_process_csv:

  • id
  • csv_file_id -> (Referenz, wenn für die Tabelle tpl_upload_csv_file)
  • record_no
  • process_status
  • Grund
+0

Bitte posten Sie Ihre Tabellenstruktur mit Feldliste. –

+0

Ich habe meine Frage mit Tabellenstruktur bearbeitet – Vinothini

+0

Ich bin verwirrt. Wenn Sie 5 "Detail" Datensätze in tbl_process_csv haben, die die "Haupt" -Tabelle tpl_upload_csv_file ID übereinstimmen, dann soll links Join alle 5 zurückgeben. – ourmandave

Antwort

2

die Sie interessieren und lassen Sie mich wissen, wenn irgendein Problem auftreten:

$this->db->select('tbl_process_csv.id, tbl_process_csv.record_no, tbl_process_csv.reason,tpl_upload_csv_file.uploaded_file_name, tpl_upload_csv_file.uploaded_date_time'); 
$this->db->from('tpl_upload_csv_file'); 
$this->db->join('tbl_process_csv', 'tbl_process_csv.csv_file_id = tpl_upload_csv_file.id', 'left'); 
$this->db->where('tbl_process_csv.process_status', 3); 
$this->db->group_by('tbl_process_csv.csv_file_id'); 
$this->db->order_by('tbl_process_csv.date_of_processing', 'desc'); 
$query = $this->db->get(); 
return $query->result(); 
+0

Gleiches Ergebnis ....... – Vinothini

+0

Was ist also falsch mit den Daten? Welche Art von Daten möchten Sie? –

+0

Wenn ich ID 1 in tpl_upload_csv_file und es Datensatz 3 in tbl_process_csv hat, dann sollte es nicht 3 mal angezeigt werden, anstatt dass es 1 mal angezeigt werden sollte und der zugehörige Datensatz sollte in separaten Array mit diesem – Vinothini

0
$this->db->distinct('tbl_process_csv.id'); 

Fügen Sie diese Zeile in Ihren Code ein.

Also, werden Sie verschiedene Datensätze erhalten w.r.t tbl_process_csv.id

+0

Immer noch dasselbe Ergebnis – Vinothini