Php mysql根据另一个表中的id查询一行中的两个用户名

Php mysql根据另一个表中的id查询一行中的两个用户名,php,mysql,sql,select,Php,Mysql,Sql,Select,我对编码有点陌生,一直在尝试编写我认为是一个简单的sql查询。请帮忙:) 基本上我想: "Select Username(from), Username(to), order_details FROM mytables WHERE Order id = 1;" 结果显示为1行,我不知道如何继续。我想我可以用连接之类的方法来做这件事。。。有人能帮忙吗?您正在寻找一个加入。这可以通过关键字或通过WHERE子句来完成。比如说, SELECT * FROM Orders JOIN Users ON

我对编码有点陌生,一直在尝试编写我认为是一个简单的sql查询。请帮忙:)

基本上我想:

"Select Username(from), Username(to), order_details FROM mytables WHERE Order id = 1;" 

结果显示为1行,我不知道如何继续。我想我可以用连接之类的方法来做这件事。。。有人能帮忙吗?

您正在寻找一个
加入
。这可以通过关键字或通过
WHERE
子句来完成。比如说,

SELECT * FROM Orders JOIN Users ON Orders.order_to=Users.id
可以在以下位置找到文档:


我将把它作为一个练习,以了解如何
JOIN
来自
order\u

您需要使用
JOIN
将表链接在一起

SELECT fu.username AS fromUser, tu.username AS toUser, o.order_details
FROM Orders o
INNER JOIN Users fu
ON fu.id = o.order_to
INNER JOIN Users tu
ON tu.id = o.order_from
WHERE o.orderid = '1';

因为您有两个需要用户名的不同用户,所以需要两次
JOIN
users表以获取这两个用户的用户名。每个表都需要有自己的别名
fu
tu
,以便MySQL能够区分它们。这同样适用于
SELECT
语句中的列名,以便在使用PHP获取结果时,php可以区分这两个用户名。

基本上我想:
什么?
你想做什么?他正在尝试连接表,并在orders表中获得由ID定义的用户名。只需连接users表两次-一次用于买家,一次用于卖家。您需要为每个实例提供自己的别名。谢谢大家。我把原始的join语句写错了,然后尝试了连接。我现在有了。再次感谢大家。非常感谢,我曾试图加入,但显然我的逻辑有缺陷:)我真的很感激!
SELECT fu.username AS fromUser, tu.username AS toUser, o.order_details
FROM Orders o
INNER JOIN Users fu
ON fu.id = o.order_to
INNER JOIN Users tu
ON tu.id = o.order_from
WHERE o.orderid = '1';