2016-08-23 13 views
0

これは本当にMeekroDBの独占的な問題です。私はLeft_Joinの周りを頭で囲んでいます。 MySQL Left Join(MeekroDBを使用)

DB::query("SELECT * FROM comp_checklist WHERE user_id = %i", $user_id);

は、今、私が取得するワンド:ユーザーIdが一致し、これがうまく働いていたところ、私は comp_checklistからすべての行を取得したい comp_checklisトンと comp_checklist_items

は、私は2つのテーブルを持っています(ユーザーIDが一致するcomp_checklistからのすべての行)、comp_checklist_items行を追加します。checklist_idが両方のテーブルで一致します(checklist_idがの主キーです)。テーブル)。私は以下の使用が、ちょうどWHERE前に来る必要があり

答えて

0

false

DB::query("SELECT * FROM comp_checklist WHERE user_id = %i LEFT JOIN comp_checklist_items on checklist_id = comp_checklist.checklist_id", $user_id); JOINを取得し、すべての列は、テーブル名を持つべきか、あなたがエラーを取得します:

DB::query("SELECT * FROM comp_checklist 
      LEFT JOIN comp_checklist_items 
      ON comp_checklist_items.checklist_id = comp_checklist.checklist_id 
      WHERE comp_checklist.user_id = %i ", $user_id); 
+0

ガット屋、働いていたが、中私が意図したのとは違う方法。基本的には、チェックリストAをチェックリストAではなく項目ごとに1回、チェックリストAを2回戻しました。 – Packy

+0

@Packyたとえば、user_id = 3の行をすべて取得したい場合は、2行このチェックリストのcomp_checklist_itemsには、2つの結果が得られます。何か他のものを入手したい場合は、いくつかのサンプルデータと、期待する結果セットのサンプルを投稿してください。 – Galz