我正在尝试执行我认为是对 MySQL 数据库的非常简单的查询。这是我的桌子设置;
表 1 - CMS_AccessLevels
- 访问权限
- 标题颜色
表 2 - CMS_Users
- 用户身份
- 用户名
- 用户邮箱
- 用户头像
- 用户签名
- 访问权限
我已经收到了这个查询;
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
and accessLevel
from CMS_Users
, and titleColor
from CMS_AccessLevels
whereCMS_Users.userID
等于 '3',记住CMS_AccessLevels.accessLevel
和CMS_Users.accessLevel
必须匹配。
实际上,在运行查询之前我知道的唯一一条数据是userID
.
是否可以通过单个查询来做到这一点?