php 左加入 请帮忙

标签 php mysql sql

我想要实现的是我有一个公司表,其中有 2 个用户 ID 字段(用户 ID 和更新的用户 ID)我正在尝试使用左连接从 UserTable 中获取 2 个名称,这是我的表的结构

[CompanyTable] 

CompanyID

UserID:int

UpdatedBy:int

[UserTable]


UserID:int

FullName:string

我有 1 工作但无法获得第二个值 这是我正在尝试执行的代码,任何帮助都会很棒!!

SELECT company.CompanyID, company.UserID, company.UpdatedBy, users.FullName
    FROM company 
    LEFT JOIN users ON users.UserID = company.UserID
    LEFT JOIN users ON users.UserID = UpdatedBy.UserID
    GROUP BY company.CompanyID

最佳答案

您可以尝试如下。想法是使用不同的别名连接同一个 users 表两次,并在选择字段时使用它们。公司表中有 2 个 id,您可以使用列别名使其更具可读性,例如 u2.FullName as FullName_UpdatedBy 表示用户更新的全名。

select
c.CompanyID,
c.UserID,
u1.FullName,
c.UpdatedBy,
u2.FullName as FullName_UpdatedBy
from company c
left join users u1 on u1.UserID = c.UserID
left join users u2 on u2.UserID = c.UpdatedBy
group by c.CompanyID

关于php 左加入 请帮忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24927727/

相关文章:

php - 当 php 语句结果文件 = 1 时更新表

mysql - SQL 中的多个结果处理

Mysql:选择两列之间的值

java - 使用准备好的语句的动态列名 + 包含变量的 sql 查询

php - 在 php 中更新表

php - 如何使用带有 SSL 的 mysqli 连接

php - 使用 mysql 数据库根据第一个下拉框自动填充第二个下拉框

php - PHP中如何通过一个父类访问多个类

php - 如何使用 Docker 连接 php-apache 和 MySQL?

c# - 在SQL azure中删除没有事务日志的大数据