MySQL DB に対する非常に単純なクエリであると想定しているものを実行しようとしています。これが私のテーブルのセットアップです。
表 1 - CMS_AccessLevels
- アクセスレベル
- タイトルカラー
表 2 - CMS_Users
- ユーザーID
- ユーザー名
- ユーザーメール
- ユーザーアバター
- ユーザー署名
- アクセスレベル
私はすでにこのクエリを取得しています。
SELECT `titleColor` FROM `CMS_AccessLevels` WHERE `accessLevel` = (SELECT `accessLevel` FROM `CMS_Users` WHERE `userID` = 3)
これは正しく機能し、両方のテーブルの一致にtitleColor
基づいて正しい値を返します。accessLevel
今、私がやりたいことは、いくつかの値も取得することですCMS_Users
。簡単にするために、いくつかの値のみを取得すると仮定すると、結果セットは次のようになります。
userID|username|userAvatar|accessLevel|titleColor
-------------------------------------------------
0 |Scott |image.png | 6 |#FFFFFF
または PHP 配列として (上記の表が意味をなさない場合に、論理レイアウトを確認できるように表示されています)。
array('userID' => $result['userID'],
'username' => $result['username'],
'userAvatar' => $result['userAvatar'],
'accessLevel' => $result['accessLevel'],
'titleColor' => $result['titleColor'];
userID
、userName
、userAvatar
およびaccessLevel
fromCMS_Users
を取得したいとしましょう。 titleColor
fromは「3」に等しく、一致する必要があることを思い出しCMS_AccessLevels
てください。CMS_Users.userID
CMS_AccessLevels.accessLevel
CMS_Users.accessLevel
現実的には、クエリを実行する前に知っている唯一のデータはuserID
.
単一のクエリでこれを行うことは可能ですか?