New*_*der 0 php mysql sql select
我有点新编码,并一直在尝试编写我认为是简单的SQL查询.请帮忙 :)
Table 1: Users
id = user idt
username = user name
Table 2: Orders
orderid = order id
order_to = user id of person buying
order_from = user id of person selling
oder_details = text
Run Code Online (Sandbox Code Playgroud)
基本上我想:
"Select Username(from), Username(to), order_details FROM mytables WHERE Order id = 1;"
Run Code Online (Sandbox Code Playgroud)
并得到结果为1行,我不知道如何继续.我以为我可以用串联或其他东西做到这一点......任何人都可以帮忙吗?
您需要使用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';
Run Code Online (Sandbox Code Playgroud)
因为您有两个不同的用户需要用户名,所以需要JOIN两次Users表来获取用户的两个用户名.每个表都需要拥有自己的别名,fu并tu允许MySQL区分它们.对于SELECT语句中的列名称也是如此,这样当您使用PHP获取结果时,php可以区分这两个用户名.