在sql中从另一个表中的数据中选择3个用户的最佳方法是什么?

时间:2014-06-19 01:43:41

标签: php mysql sql database

所以我目前正在开发一个包含贷款申请的网站,在该贷款申请中有一个主要的借款人,然后最多可以有2个共同借款人。我所做的是创建一个loanSubmission表,其中包含uid1uid2uid3列,代表user id,然后是用户编号。用户的id存储在这些列的每一列中,用户完整信息存储在users表中。

我需要从另一个表中的数据中选择三个用户。有没有办法使用连接实现这一点,还是我必须使用子查询?我从来没有根据另一张桌子的信息加入多个用户,所以任何方向都会非常感谢!

1 个答案:

答案 0 :(得分:2)

这非常简单,您使用别名多次连接到同一个表:

SELECT user1.id, user2.id, user3.id FROM loanSubmission
  INNER JOIN users user1 ON user1.id = loanSubmission.uid1
  INNER JOIN users user2 ON user2.id = loanSubmission.uid2
  INNER JOIN users user3 ON user3.id = loanSubmission.uid3

或取决于您是否想要空白用户(您可能会这样做)

SELECT user1.id, user2.id, user3.id FROM loanSubmission
  LEFT OUTER JOIN users user1 ON user1.id = loanSubmission.uid1
  LEFT OUTER JOIN users user2 ON user2.id = loanSubmission.uid2
  LEFT OUTER JOIN users user3 ON user3.id = loanSubmission.uid3