mysql - 从多个表中为 1 个特定用户选择数据

标签 mysql inner-join

所以我的数据库由 5 个表组成,每个表都有不同的列。使它们全部标识的唯一列是 id。我正在尝试获取特定用户的数据,但我似乎只获取了数据库的所有用户。

这是我试过的:

SELECT
    ControlAccess.UserName,
    ControlAccess.Pass,
    Users.First_Name,
    Users.Last_Name, 
    UserInfo.Age, 
    UserInfo.Country,
    UserInfo.Address,
    UserInfo.ZipCode,
    Sessions.Matrix1,
    Sessions.Matrix2,
    Sessions.Result,
    Operations.Operation,
    FilePath.LocationFiles
FROM 
    MatrixUsers.UserInfo
INNER JOIN 
    MatrixUsers.Users
ON 
    UserInfo.idUserInfo = Users.idUsers = 1
INNER JOIN 
    MatrixUsers.ControlAccess
ON 
    ControlAccess.idControlAccess = UserInfo.idUserInfo = 1
INNER JOIN 
    MatrixUsers.Sessions
ON 
    Sessions.idSessions = ControlAccess.idControlAccess = 1
INNER JOIN 
    MatrixUsers.FilePath
ON 
    FilePath.idFilePath = Sessions.idSessions = 1
INNER JOIN 
    MatrixUsers.Operations
ON 
    Operations.idOperations = FilePath.idFilePath = 1;

我尝试将 1 放在每个 id 的末尾以查看它们是否匹配,但我仍然得到所有用户。

我是 SQL 新手,我只熟悉匹配行,但不会选择特定的行。

下面是每个表的列:

ControlAccess: {idControlAccess, UserName, Pass}
Sessions: {idSessions, Matrix1, Matrix2, Result}
FilePath: {idFilePath, LocationFiles}
Operations: {idOperation, Operation}
UserInfo: {idUserInfo, Age, Country, Address, ZipCode, Phone}

最佳答案

当您需要特定用户时使用 WHERE。例如,从 user_id=the_specific_user_id 的表中选择 user_id。遵循这个基础来构建复杂的语句。

关于mysql - 从多个表中为 1 个特定用户选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533439/

相关文章:

mysql - Spring JDBC 模板无法执行 FROM 子句中包含嵌套查询的查询

mysql - 来自同一张表的两个复合键

mysql - 使用 INNER JOIN MYSQL 在同一字段中返回多个值

mysql - 在 Syfmony2 中使用查询生成器排序时也获取计数

mysql - 如何有效地从一个巨大的表中随机获取一行?

php - 如何创建不可预测的用户标识?

php - 从一个表中选择匹配值到另一个表中的多个值

sql - 两个 INNER JOIN ODBC MSAccess 查询异常

c# - 从当前返回具有日期时间的每条记录的大型 linq 查询中获取 "latest"日期时间

mysql - SQL 获取非规范化表中某指定信息对应的第一个字段