2013-03-18 3 views
-3

Мне интересно, можете ли вы помочь мне с вопросом относительно PHP & MySQL. Я пытаюсь получить информацию из 2 таблиц в 1 общий запрос для входящих сообщений веб-сайта. Это означает, что из таблицы сообщений я хочу найти: Отправитель, Получатель, Сообщение, Время и т. Д.Получить информацию из 2 таблиц с использованием PHP и MySQL

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

Может ли кто-нибудь помочь мне разобраться в этой проблеме. Я прочитал, что, возможно, мне нужно использовать Join или Join Left для подключения таблиц, но не могу точно определить, как это может работать для моего примера. Спасибо

+0

Схема может помочь – luchosrock

ответ

1

Предполагая, что OtherTable содержит UserId поля со значением, равной Sender от MessagesTable:

SELECT Sender, Recipient, ..., Name, MemberType, ... FROM MessagesTable 
LEFT JOIN OtherTable ON OtherTable.UserId = MessagesTable.Sender 
+0

Большое спасибо - этот ответ с примером был очень полезным. Один или два вопроса: - Является ли оператор * еще действительным в этом случае или вам нужно набирать каждый столбец, то есть SELECT *, Name, MemberType, ... FROM MessagesTable .. И делает ли WHERE все еще работу, если она добавлена ​​в конец? – user2184018

+0

@ user2184018, конечно, '*' и 'WHERE' все еще можно использовать. – rid

+0

Благодарим за помощь – user2184018

0

Вам нужно присоединиться к какому-то, например:

SELECT messages.sender, messages.recipient, users.name FROM messages JOIN users ON users.id = messages.user_id 

Check вне этого Visual Representation of SQL Joins, определенно достойный закладки.

Смежные вопросы