我正在構建一個PHP5應用程序,我需要列出其中的項目以及關於它們的所有相關信息。爲此,我有三個表格,分別命名爲:kc_projects,kc_project_members和kc_users。我有ID的所有的人,並有各行中kc_project_members列連接各自的用戶,他在註冊項目做一個查詢:最好的方法是什麼?
現在,我有這個疑問:
SELECT * FROM kc_projects AS p
INNER JOIN kc_project_members AS pm
ON pm.PROJECT_ID = p.ID
INNER JOIN kc_users AS u
ON u.ID = pm.USER_ID
但它不能按我的意願工作,因爲它實際上是檢索我想要的結果,但不是按照我想要的方式。它創建一個數組,另一個數組,並在該數組中,我有另一個數組包含查詢結果。它也爲我創建了每個用戶的重複結果,這意味着如果我只有一個用戶在該項目中註冊,它只會返回一個項目。但是如果我有更多的東西,它會像註冊用戶那樣返回我的數組,並且數組總是具有相同的項目信息。我希望他只返回一個項目,並在其中包含一個包含用戶的數組。
有沒有辦法做到這一點,正確的方式?
感謝,
灼燒
你想要的輸出目前尚不清楚。您可以在單個結果集中執行此操作,這可能會複製用戶和項目信息,也可以通過執行多個查詢並將結果集關聯到您的PHP代碼中來分解數據。你要哪個? – Thomas 2011-04-29 18:45:16
查詢不會爲您創建數組,這是在PHP端完成的。所以如果你對數組的佈局不滿意,那是因爲你的代碼構建錯了。 – 2011-04-29 19:02:40
爲「陣列問題」檢查您正在使用的庫或函數來執行結果和檢索結果,檢查文檔中的「獲取模式」大多數庫可以處理多種獲取模式,關聯,組合等,選擇你的。 – regilero 2011-04-29 19:11:25