我有一个具有多个用户ID列(uidA,uidB,uidC等)的表,这些用户ID列链接到一个用户表。我知道您可以多次连接同一张表,但是我很好奇这是否是通过连接同一张表三次来编写查询的最有效方法?

SELECT
    userA.`username`,
    userB.`username`,
    userC.`username`,
    `someTable`.`someValue`,
    `someTable`.`timestamp`
FROM `someTable`
INNER JOIN `users` userA ON userA.`id` = `someTable`.`uidA`
INNER JOIN `users` userB ON userB.`id` = `someTable`.`uidB`
INNER JOIN `users` userC ON userC.`id` = `someTable`.`uidC`
WHERE `someTable`.`someValue` = ?

最佳答案

是的,这是多次连接同一张表的方法。

关于mysql - 在查询中多次联接同一张表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31947855/

10-08 20:30