私の問題は: "Customer"列を含むテーブルを表示したいとします。 "Measures"のコレクションが内部にあるテーブルです。問題は、2種類の「措置」があることです。それらはまた、 "タイプ"(0と1)と呼ばれる列でデータベーステーブルに分離されています。1つのテーブルに2回参加することはできますか?
、すべての「測定」を「顧客」に属しているが、各「測定」タイプのために「顧客」の名前を取得するためのさまざまな方法があります:
これはコードです:
$select = "blablabla..., c.name as customer";
$this->db->select($select);
$this->db->from("it_measure m");
:タイプ1で "対策" のために
$this->db->join("it_ma ma", "m.id = ma.measure", "LEFT OUTER");
$this->db->join("it_a a", "ma.a = a.id", "LEFT OUTER");
$this->db->join("it_i i", "a.i = i.id", "LEFT OUTER");
$this->db->join("it_customer c", "i.customer = c.id", "LEFT OUTER");
:
それはタイプ0と "対策" のために行きます
私は、異なるタイプの両方のタイプの顧客名を取得するために異なる結合があることがわかります。 両方の例での最後の結合が重要です。私は同じテーブル(table_customer)に参加したいです。 どのように実現することができますこのクエリを組み合わせて、両方の結合をその1つのフィールドの顧客に得ることができます。 私はifクエリでも試してみました。if type 0 .. else type 1 ..しかし動作しません。
あなたが私を助けることができるなら、私はうれしいでしょう! 不明な点がある場合はお尋ねください。 ありがとうございました!
[MySQL:同じテーブルを複数回結合するにはどうすればよいですか?](https://stackoverflow.com/questions/12561733/mysql-how-do-i-join-same-table-multiple- times) – JeffUK