Как показать значения из двух разных запросов? - PullRequest
1 голос
/ 06 февраля 2011

У меня есть одна база данных, которая содержит всю информацию о пользователе, включая имя.Затем есть вторая база данных, которая содержит заметки от пользователей и содержит #id, но не имя.У запроса, который я делаю для извлечения заметок пользователя, нет имени, поэтому все, что он делает - показывает заметки, затем прямо под ним я делаю другой запрос, чтобы извлечь имя из первой базы данных, используя общий #id.Но это не покажет.

Есть ли способ сделать этот запрос в одном?Пожалуйста помоги.Благодарю.

Ответы [ 2 ]

1 голос
/ 06 февраля 2011

Вам может потребоваться показать свой код, но вы можете написать запросы к двум базам данных (или схемам) на одном хосте, просто сопоставьте имена таблиц с именем базы данных, например,

SELECT db1.user.id, db1.user.name, db2.userinfo.notes
FROM db1.user
INNER JOIN  db2.userinfo ON(db1.user.id=db2.userinfo.id)

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

1 голос
/ 06 февраля 2011

Использование:

   SELECT u.name,
          n.*
     FROM DB2.NOTES n
LEFT JOIN DB1.USERS u ON n.id = u.id
 ORDER BY u.name

Предполагая, что учетные данные подключения имеют доступ к обеим базам данных, вы ставите префикс имени базы данных перед именем таблицы и разделяете точкой.

LEFT JOIN покажет как пользователей, так и заметки без ассоциированных пользователей. Вот хороший учебник для JOINs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...