我有一個數據庫包含三個表:醫生,辦公室,專業。 醫師表包含醫師姓名。同樣,辦公室的表格包含辦公地址,專業包含醫生在實踐中的不同專業。MySQL查詢3錶鏈接2鏈接表
因爲醫生和辦公室是相關的多對多,所以我有一個鏈接表,j_md_ofc。同樣,我有一個鏈接表j_md_spc,用於醫生和他們的專業之間的多對多關係。
我很難創建一個查詢,列出在特定辦公室工作的醫生及其專業人員。最終的目標是要在網頁上顯示給定的辦公以下:
- 李四博士 - 關節置換
- Lumbergh博士 - 關節置換術,運動醫學
- Soze博士 - 運動醫學,肩部手術,手部手術
- 斯旺森博士 - 運動醫學,肩部手術,關節置換
從查詢到創建網頁所需要的PHP的結果得到的是沒有問題的。創建查詢是我卡住的地方。它可以用一個簡單的(嵌套的)查詢來完成,還是它必須是2個獨立的查詢?
您應該能夠在單個查詢中使用4個INNER JOIN子句進行操作。要用逗號分隔的列表獲得特色,請使用「GROUP_CONCAT」。 – Barmar
作爲@Barmar的四個JOIN表示。您也可以使用LEFT或RIGHT JOIN列出沒有特色的醫師。 –
這裏有很多關於在連接表之間進行表連接的問題。第二個鏈接表並沒有真正改變任何東西,你只是重複相同的模式。 – Barmar