我對MySQL很新穎(一般來說sql),我正在努力工作。 我有2個表,第一個表包含'客戶'列表,第二個表'用戶'列表。在第一個表格中,有些列包含「合同管理者」和「業務發展」的用戶ID號碼。該ID只是一個數字,引用「用戶」表中的ID號碼。用戶表然後存儲有問題的用戶的名字,姓氏等。INNER JOIN與另一個表給出一個字段兩次?
我想運行一個查詢,它將返回合同管理員和業務開發經理的名字和姓氏,然後在PHP中使用它們。
我有以下查詢;
SELECT
*
FROM
clients
INNER JOIN
tenantusers AS cm ON cm.tenusr_ID = clients.cli_ContractManager
INNER JOIN
tenantusers AS bd ON bd.tenusr_ID = clients.cli_BusinessDevelopment
ORDER BY cli_Name;
這在MySQL儀表板返回正確的結果,但是我無法在PHP因爲
$t = $row['tenusr_FirstName'] . " " . $row['tenusr_LastName'];
返回查詢的最終結果,而不是以前使用。事實告訴我,我不知道如何得到它們。我試圖使用db.tenusr_FirstName
,它會引發錯誤。
任何幫助,將不勝感激。
+--------+----------+------------------+---------------+----------------------+-------------------------+
: cli_ID : cli_Name : cli_AddressLine1 : cli_Town : cli_ContractManager : cli_BusinessDevelopment :
+-------------------------------------------------------------------------------------------------------+
: 1 : ACME : On a street : Makeuptington : 1 : 2 :
+--------+----------+------------------+---------------+----------------------+-------------------------+
+-----------+-----------------+-----------------+--------------+
: tenusr_ID : tenusr_Username : tenusr_LastName : tenusr_Email :
+--------------------------------------------------------------+
: 1 : Sam : Smithers : [email protected] :
+--------------------------------------------------------------+
: 2 : Tom : Watson : [email protected] :
+--------------------------------------------------------------+
我已經添加了表 - 頂部是客戶表,第二個用戶。
您是否嘗試過使用LEFT JOIN? –
你只需要指定你需要的列而不是使用'*'。這樣你可以分配一個別名。然後,只需使用您在PHP中分配的別名。 –