0

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'];

userIDuserNameuserAvatarおよびaccessLevelfromCMS_Usersを取得したいとしましょう。 titleColorfromは「3」に等しく、一致する必要があることを思い出しCMS_AccessLevelsてください。CMS_Users.userIDCMS_AccessLevels.accessLevelCMS_Users.accessLevel

現実的には、クエリを実行する前に知っている唯一のデータはuserID.

単一のクエリでこれを行うことは可能ですか?

4

2 に答える 2