簡體   English   中英

PHP MySQL根據另一張表中的ID在一行中查詢兩個用戶名

[英]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表以獲取兩個用戶的用戶名。 每個表都必須具有自己的別名futu ,以便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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM