mysql - 关于嵌套select的sql问题

标签 mysql sql

我有两张 table

1. Table A
userId
userFirstName
UserLastName

2. Table B
createdByUserId
updatedByUserId
deletedByUserId
tableName
tableCreateDate

我想对表B(包括createByUserID、updatedByUserId和deletedByUserId)进行选择,并在一个查询中获取表A的userFirstName和userLastName(userName根据已获取的userID)?这在一个嵌套查询中可能吗?或者它确实需要两个查询,一个查询取出 userId,第二个查询取出 userdetail。

最佳答案

如果我明白你想要什么,你可以加入三次。 (我选择左连接以防某些 ID 为空)

Select 
      b.tableName,
      b.tableCreateDate,
      CUser.userFirstName CreateUserFirstName,
      CUser.UserLastName  CreateUserLastName ,
      CUser.userFirstName UpdateUserFirstName,
      UUser.UserLastName  UpdateUserLastName ,
      UUser.userFirstName DeleteUserFirstName,
      DUser.UserLastName  DeleteUserLastName 
FROM
    TableB b
    LEFT JOIN TableA CUser
    ON b.createdByUserId = CUser.UserId
    LEFT  JOIN TableA UUser
    ON b.updatedByUserId= UUser.UserId
    LEFT  JOIN TableA DUser
    ON b.updatedByUserId= DUser.UserId

关于mysql - 关于嵌套select的sql问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458318/

相关文章:

Mysql死锁单次插入事务

mysql - 使用可序列化事务后,Quartz 调度程序自身陷入死锁

mysql - 处理 SQL 保留表名和列名

sql - 通过 Microsoft SSIS 包创建/更新 Postgresql 表

SQL 为嵌套选择创建别名列?

python - `alembic revision --autogenerate` 产生冗余外键迁移

mysql - Entity Framework 添加方法不可用

HTML 在 Laravel Blade 中不显示来自 mysql 数据库的小数

sql - 将毫秒转换为天、小时、分钟和秒

c# - 检查 excel 行中的名称是否与表列名称相同