1

我会尽量简短。我有两张桌子:

Users
ID | Name
1  | Joe
2  | Jimmy

Phone
ID | Number | User
1  | 12345  |  1
2  | 56789  |  2

现在我想生成一个查询来显示所有电话,但不是显示用户号码,而是我想显示他的名字。

类似于 -> 从电话查询 * ... while row ... echo $row->id, $row->number, $row->User+Name。

我怎样才能做到这一点?我可以完成 2 次查询,第 1 次保存到数组,第二次修改该数组的元素,但 mysql 可能为此获得了更好更快的解决方案。

谢谢

4

2 回答 2

1
SELECT Phone.ID, Phone.Number, Users.Name
FROM Phone
LEFT JOIN Users ON Phone.User = Users.ID
于 2011-08-29T23:33:06.140 回答
0

select u.name, p.number from users u, phone p where u.id = p.user

除非电话不知道用户有 FK,否则使用外部联接,但前提是有电话没有用户

于 2011-08-29T23:35:25.920 回答