我試圖想出一個查詢,其中第三個表格將加入另外兩個表格。問題是這個第一個表有不同版本,我需要查詢來查看錶1中的列,然後選擇正確的表來加入,但生成的查詢必須返回表1中的所有行,只需加入一個額外的表3符合WHERe條款的特定行。 這甚至可能嗎?根據第一個表格的內容加入表格
實施例:
表1 =用戶
表2 =橫幅
表3 = UserSettings OR AdminSettings或全無
查詢會說...
WHERE User.rank='admin' LEFT JOIN AdminSettings
WHERE User.rank='user' LEFT JOIN UserSettings
我當前的查詢是這樣的:
$query = "SELECT * FROM Users as U WHERE U.user_id = :id ";
$query .= "LEFT JOIN Banners as B ON U.banner_id = B.banner_id ";
$query .= "LEFT JOIN AdminSettings ON U.server_id = AdminSettings.user_id WHERE U.rank='Admin' ";
$query .= "LIMIT 1";
問題是,它只能說明有User.rank =「管理員」行不顯示行,其中User.rank =「用戶」休息。