user_meta
という表があります。そのテーブルでは、私は次の列がありますID
、userID
、meta_key
、meta_value
MYSQL複数の行に基づく表から選択
私は別のテーブルにはusers
、私はuser_meta
テーブル行に比較したいID
がある唯一の重要な柱と呼ばれています。
users
表は次のようになりますのみ
ID | userID | meta_key | meta_value
2 | 1 | companyID | 2
3 | 1 | user_type | staff
4 | 5 | companyID | 2
5 | 5 | user_type | staff
6 | 6 | companyID | 4
7 | 6 | user_type | customer
私は、各userID
のための単一の行を取得したいのですが、:
ID | email | etc...
1 | [email protected] |
5 | [email protected] |
6 | .... |
7 | .... |
だから私がどのように見えるテーブル(user_meta)を持っていると言います会社IDとuser_typeが正しい場合。
私はクエリで送信するcompanyIDが同じだから、$ companyID = 2とし、user_type
= 'staff'のすべてのユーザーを検索したいとします。
したがって、user_meta.userIDはusers.IDと同じでなければならず、user_meta.companyIDは2に等しく、user_meta.user_typeは 'staff'に等しくなければなりません。
これらの条件に一致するすべてのユーザーの一覧が必要です。
結果は 5となります。彼らは両方のcompanyID = 2
を持っている、との両方があなたの質問については非常にわからないuser_type = staff
このテーブルとも望ましい結果、両方のテーブル構造を提供私は、ユーザーテーブルを追加 – Beginner
@NewbeeDevをDATASあなたの例から来た、唯一の重要な列はIDです。 users.ID = user_meta.userID –
おそらくあなたの望むクエリーがあなたの問題をもっと理解するのに役立つでしょう。 – Beginner