我正在嘗試根據資料庫中的多個條目檢索相關值。在使用 JOIN
s 等方面,我對 MySQL 非常陌生,我試圖避免不必要地涉及 PHP。
當我說「檢索巢狀相關值」時,請看以下範例:
"Person" table "Language" table "Greeting" table | personId | language | | languageId | greeting | | greetingId | value | |----------|----------| |------------|----------| |------------|-----------| | 1 | en | | en | 3 | | 1 | konichiwa | | 2 | jp | | jp | 1 | | 2 | bonjour | | 3 | fr | | fr | 2 | | 3 | hello |
如果我想檢索第一個人的問候語,流程將會是:
1 -> en -> 3 -- ID Flow en -> 3 -> hello -- Value flow Person 1: "hello" -- Final result
或者,如果我想檢索第三個人的問候語,它會改為:
3 -> fr -> 2 -- ID flow fr -> 2 -> bonjour -- Value flow Person 3: "bonjour" -- Final result
那麼,我該如何在 MySQL 中執行此操作?如果這已經有了答案,我深表歉意;我似乎無法找到研究正確答案的措辭。
建議 - 使相對列名稱相等。 IE。不是
language
和languageId
,但在兩個表中使用相同的名稱(例如使用languageId
)。 Greeting 和greetingId 欄位也是如此。這將使查詢更加簡單:JOIN 根據某些條件連接兩個表格的記錄。例如您想要將表格「Person」中的記錄與表格「Language」中的記錄連接起來,以便欄位
language
中的值等於欄位languageId
中的值可以透過給出以下FROM 子句來做到這一點:這個 JOIN 的結果是一個看起來像這樣的表格