これを照会、しかし、のは、私は、このようなLaravel/MySQLのクエリ生
表1
| id | userid | points |
|:-----------|------------:|:------------:|
| 1 | 1 | 30
| 2 | 3 | 40
| 3 | 1 | 30
| 4 | 3 | 40
| 5 | 1 | 30
| 6 | 3 | 40
表2
| id | userid | productid |
|:-----------|------------:|:------------:|
| 1 | 1 | 4
| 2 | 3 | 4
| 3 | 1 | 3
| 4 | 3 | 3
| 5 | 1 | 3
| 6 | 3 | 3
Iとして2つのテーブルを持っているとしましょう方法についてわかりませんテーブル1からポイントが30を超え、テーブル2のプロダクトIDが4であるすべての行を取得する必要があります
現時点では、このような生のクエリ:DBを通して
SELECT userid, SUM(points) as points FROM table1 GROUP BY userid HAVING SUM(points) >= 30 ORDER BY SUM(points) DESC, userid
は
どのように私は結果のすべてが唯一のユーザーID介して接続された表2を経由して4のプロダクトIDを持っていることを確認することができますを選択::?これは参加が適用可能な場所ですか、私はleftjoinと他の人を参照してくださいので、私はこれについて行く方法があまりにも分かりません、任意の提案を感謝しています。
EDIT:
私はこの作業を得た:
SELECT userid, SUM(points) as points FROM table1 LEFTJOIN table2 on table1.userid = table2.userid WHERE table2.productid = '4' GROUP BY userid HAVING SUM(points) >= 30 ORDER BY SUM(points) DESC, userid
それがOKであれば確かに参加/ leftjoin 100%の任意のフィードバックを、結果を修正するために戻って私を与えていないが、?あなたが内部使用する場合
あなたが追加したクエリは機能しますか? –
はい、productidが4のテーブル2を質問として探していません。私は解決策を見つけて、それを編集してコメントの下に答えようとしていますが、それが正しい方法であるかどうかはわかりません。したがって、どんなフィードバックも瞬時に評価されます – Jamie000012