Запросить 2 таблицы MYSQL для отображения определенных результатов? - PullRequest
1 голос
/ 30 августа 2011

Я постараюсь быть коротким. Я получил две таблицы:

Users
ID | Name
1  | Joe
2  | Jimmy

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

Теперь я хочу создать запрос для отображения всех телефонов, но вместо того, чтобы показывать номер пользователя, я хочу показать его имя.

Было бы что-то вроде -> запрос * с телефона ... пока строка ... echo $ row-> id, $ row-> number, $ row-> User + Name.

Как я могу это сделать? Я могу выполнить 2 запроса: первый - сохранить в массив, а второй - изменить элементы этого массива, но, вероятно, mysql получил лучшее и более быстрое решение для этого.

Спасибо

Ответы [ 2 ]

1 голос
/ 30 августа 2011
SELECT Phone.ID, Phone.Number, Users.Name
FROM Phone
LEFT JOIN Users ON Phone.User = Users.ID
0 голосов
/ 30 августа 2011

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

, если телефон не знает, есть ли у пользователя FK, тогда используйте внешнее соединение, но только если есть телефон без пользователя

...