2011-08-01 2 views
0

は、ここに私のデータベーススキーマと私はリンクしようとしているテーブルは、私が参加しLEFTを使用してみましたが、今それが一致する各列のための新しい結果を作成しています。1:何人の関係に参加しますか?

http://i.imgur.com/Ovsau.png

私は現在、私のクエリを構築し、今一緒にこれらのテーブルを結合しようとしています。このようなシナリオでは

を(Procedure-> Procedure_event - > Med_item - >リソースを):

プロシージャXは3行ですprocedure_events

データを1レコードで返しますが、そのレコードを構成するすべての行が表示されます。

そうのような結果の3行復帰さしかしながら:

  • 手順X - procedure_event行1
  • 手順X - procedure_event行2
  • 手順X - procedure_event行を3

だから、クエリ結果がでなければなりません手順X - procedureevent行1,2,3

これは、アクティブレコードを使用してCodeIgniterのPHPフレームワークでは私のコードです:これはLEFTは、作品に参加する方法です

$this->db->join('procedure_event', 'procedure.procedure_id = procedure_event.procedure_id' , 'left'); 

おかげ

答えて

1

How do I get a count of associated rows in a left join in MySQL?

MySQLは2次元の配列を返す、またはマージすることはできません: -

だから、クエリの結果は手順Xでなければなりませんprocedureevent行1,2,3

私はあなたがこれを必要だと思います行。すべての "procedureevent rows 1,2,3"が必要な場合は、通常と同様に結果セットを繰り返し処理し、AJAXで手続きを取得する小さな+アイコンを追加します。

+0

は、私が何をするかは、2つの別々のクエリだと思うし、1つの配列にその結果をマージ – sqlmole

関連する問題