簡體   English   中英

如何使用join 5表從數據庫中獲取數據

[英]How to get data from database using join 5 tables

樣本數據

job_category
**catergory_id**      **category_name**
      3                   Tourism and Travel Services

job
**job_id**      **role**                   **category_id**
   1        Financial Accountant               3

exam_paper
**exam_paper_id** **exam_paper_name** **job_id**
    1                  FA -TTS             1

question
**question_id  question  option1 option2 option3 option4** 
    15          AAA         a1     a2      a3       a4
    38          BBB         b1     b2      b3       b4
    39          CCC         c1     c2      c3       c4
    44          DDD         d1     d2      d3       d4
    45          EEE         e1     e2      e3       e4

exam_question_list
**id**  **exam_paper_id** **category_id** **job_id**   **q1  q2  q3  q4  q5**
  1          1                    3         1            15  38  39  44   45 

我想從exam_question_list表中獲取詳細信息,預期結果是問題,問題表中的選項根據question_paper_list表'q1-q5'

我試圖獲取數據,但它不起作用;

SELECT *
FROM exam_question_list eq
LEFT JOIN exam_paper ex
    ON eq.exam_paper_id = ex.exam_paper_id
LEFT JOIN job j
    ON j.job_id = ex.job_id
LEFT JOIN job_catergory jc
    ON jc.catergory_id = j.catergory_id
LEFT JOIN question q
    ON q.question_id=eq.q1

這個查詢只給出了問題1.我想得到所有5個問題。怎么做?

您的查詢錯誤。 正確的是

SELECT eq.*
FROM exam_question_list eq 
LEFT JOIN exam_paper ex ON eq.exam_paper_id = ex.exam_paper_id
LEFT JOIN job j ON j.job_id = ex.job_id
LEFT JOIN job_catergory jc ON jc.catergory_id = j.catergory_id
LEFT JOIN question q ON q.question_id=eq.q1

您需要有問題的外鍵,因為相關數據在那里,並且您開始選擇所有加入后的問題,你把它放在哪里= id_whherever_you_want

exam_question_list與任何事情無關聯嘗試制作一個關系數據模型,這有助於您了解數據庫中需要更改的內容。 刪除exam_question_list並將所有外鍵置於問題狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM