私は2つのテーブル、ユーザーと調査を持っています。私はテーブルユーザにクエリを行い、ユーザテーブルの各レコードに対して最も低い値を持つ調査レコードのみが返されるようにテーブル調査に参加したい。 サブクエリと一時テーブルを避けたい。最低値のレコードを結合する
表のユーザー:
--------------
| uid | name |
--------------
| 1 | mike |
| 2 | john |
| 3 | bill |
--------------
表調査:
----------------------
| id | uid | value |
----------------------
| 1 | 3 | 9 |
| 2 | 3 | 5 |
| 3 | 1 | 3 |
| 4 | 1 | 7 |
| 5 | 1 | 2 |
| 6 | 2 | 4 |
| 7 | 2 | 9 |
| 8 | 1 | 0 |
| 9 | 2 | 5 |
---------------------
予想される出力:
---------------------
| id | name | value |
---------------------
| 8 | mike | 0 |
| 2 | bill | 5 |
| 6 | john | 4 |
---------------------
私が参加し、どのような操作を行う必要があり、またはどのように私は、クエリを記述する必要がありますか?
サブクエリを使用して、調査テーブルから目的のレコードを返し、それをユーザーテーブルに追加します。 –
テーブルには最大100万のレコードが含まれます。サブクエリはそれを非常に遅くしませんか? – JoeBateMuma
これは、おそらくインデックスが存在し、データベースサーバの仕様 –