[英]Php mysql Query two usernames in one row based on id from another table
我對編碼有點陌生,一直在嘗試編寫我認為會很簡單的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
基本上我想:
"Select Username(from), Username(to), order_details FROM mytables WHERE Order id = 1;"
並將結果作為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';
因為您有兩個不同的用戶需要用戶名,所以您需要兩次JOIN
Users表以獲取兩個用戶的用戶名。 每個表都必須具有自己的別名fu
和tu
,以便MySQL區分它們。 SELECT
語句中的列名也是如此,因此,當您使用PHP獲取結果時,php可以區分兩個用戶名。
您正在尋找JOIN
。 可以使用關鍵字或通過WHERE
子句來完成。 例如,
SELECT * FROM Orders JOIN Users ON Orders.order_to=Users.id
該文檔可以在這里找到: http : //dev.mysql.com/doc/refman/5.0/en/join.html 。
我將把它作為練習來弄清楚如何JOIN
order_from
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.