使用PHP&;从两个表中获取信息;MySQL
我想知道你是否能帮我回答一个关于PHP和MySQL的问题。我试图在一个网站收件箱的整体查询中从两个表中获取信息。这意味着我要从messages表中查找:发件人、收件人、邮件、时间等 从第二个表中,我想找到发送者的实际姓名、成员类型、年龄,以及其他一些数据使用PHP&;从两个表中获取信息;MySQL,php,mysql,database,Php,Mysql,Database,我想知道你是否能帮我回答一个关于PHP和MySQL的问题。我试图在一个网站收件箱的整体查询中从两个表中获取信息。这意味着我要从messages表中查找:发件人、收件人、邮件、时间等 从第二个表中,我想找到发送者的实际姓名、成员类型、年龄,以及其他一些数据 谁能帮我解决这个问题。我已经读到,也许我需要使用Join或Join Left来连接表,但无法准确地计算出它如何适用于我的示例 假设OtherTable包含一个UserId字段,其值等于MessagesTable中的Sender: SELECT
谁能帮我解决这个问题。我已经读到,也许我需要使用Join或Join Left来连接表,但无法准确地计算出它如何适用于我的示例 假设
OtherTable
包含一个UserId
字段,其值等于MessagesTable
中的Sender
:
SELECT Sender, Recipient, ..., Name, MemberType, ... FROM MessagesTable
LEFT JOIN OtherTable ON OtherTable.UserId = MessagesTable.Sender
您需要某种类型的联接,例如:
SELECT messages.sender, messages.recipient, users.name FROM messages JOIN users ON users.id = messages.user_id
看看这个,绝对值得一个书签。非常感谢-这个答案加上一个例子非常有帮助。不过有一个或两个问题-在这种情况下,*语句仍然有效,还是您必须键入每一列,即选择*、名称、成员类型等。。。从MessagesTable。。如果添加到末尾,WHERE仍然有效吗?@user2184018,当然,
*
和WHERE
仍然可以使用。@user2184018,请注意,如果MessagesTable
中的列与OtherTable
中的列具有相同的名称,则大多数驱动程序默认情况下只返回最后一列的值。在这种情况下,您应该考虑使用<代码>作为别名/代码>别名。在这种情况下,我不认为任何栏目都是这样做的,但谢谢您提供的信息,知道这一点非常有用,我相信它会很方便,所以我会看一看-再次感谢。