0

私は2つのテーブルを持っており、それらは次のとおりです。

USERS
ORDERS

ORDERSテーブルに少なくとも1つ以上の注文があるすべてのユーザーを選択したい。MySQLにこれに対するインラインクエリがあることは知っていますが、今はすべてのユーザーを選択してから、各ユーザーに順序があるかどうかを確認する別のクエリを作成する必要があります。これはすべてPHPループを使用します。

私が今していることは倫理的に正しくないので、基本的には1つのMySQLクエリのORDERSテーブルで参照されているすべてのユーザーを選択したいと思います。

4

2 に答える 2

3

これはあなたが使うべきクエリです

select distinct u.* from users u
inner join orders o on o.user_id = u.id;

とに注意してdistinctくださいu.*。このクエリはフィールドをorders選択せず​​、同じユーザーを2回選択しません(複数の注文がある場合)。

デモ:http ://sqlfiddle.com/#!2/6ebcc/3

于 2013-01-25T04:52:40.197 に答える
-1

mysql結合構文を使用できます。両方のテーブルにuserid列があるとすると、次の例になります。

SELECT * FROM USERS a JOIN ORDERS b ON
a.UserId = b.UserId

これは単純なデータベース操作です。joinの説明についてはここを参照してください

于 2013-01-25T04:38:34.353 に答える