MySQL: So verknüpfen Sie vier Tabellen (Active Record-Syntax) [geschlossen]Php

PHP-Programmierer chatten hier
Anonymous
 MySQL: So verknüpfen Sie vier Tabellen (Active Record-Syntax) [geschlossen]

Post by Anonymous »

Für ein bestimmtes Material in meiner Materialtabelle mit der ID 20 habe ich zwei Tabellen:

Code: Select all

chemical_name_id | chemical_name  (table name: ml_chemical_names)
================================
1                | Polysomething

common_name_id | common_name (table name: ml_common_names)
=============================
1              | PMMA
2              | Lucite
3              | Perspex
4              | Plexiglas

material_id | material  (table name: ml_materials)
======================
20          | Acrylic
Ich bin beim Zusammenführen dieser Tabellen noch etwas unsicher, aber ich habe zwei Nachschlagetabellen erstellt, etwa so:

Code: Select all

material_id | common_name_id (table name: ml_materials_common_names)
============================
20           | 1
20           | 2
20           | 3
20           | 4

and

material_id | chemical_name (table name: ml_materials_chemical_names)
===========================
20          | 1
Hier ist mein SQL im Active Record (CodeIgniter)-Format:

Code: Select all

$this->db->like('cn.common_name', $options['keyword']);
$this->db->or_like('chem.chemical_name', $options['keyword']);
$this->db->join('ml_materials_chemical_names mchem', 'mchem.material_id = m.material_id', 'inner');
$this->db->join('ml_chemical_names chem', 'chem.chemical_name_id = mchem.chemical_name_id', 'inner');
$this->db->join('ml_materials_common_names mcn', 'mcn.material_id = m.material_id', 'inner');
$this->db->join('ml_common_names cn', 'cn.common_name_id = mcn.common_name_id', 'inner');
return $this->db->get('ml_materials m')->result();
Dies wird in einem AJAX-Suchformular verwendet. Die Sache ist, wenn ich nach „Polysomething“ suche, erhalte ich vier Ergebnisse. Ich will nur eins. Ich bin mir nicht sicher, ob es an meinen Tabellen liegt, die falsch strukturiert sind, oder an meinen Verknüpfungen. Ich habe linke, rechte und äußere Verknüpfungen ausprobiert und an den zurückgegebenen Ergebnissen scheint sich nichts zu ändern.

Kann jemand helfen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post