[英]How to display data using more than 2 foreign key in sql?
我的數據庫中有 4 個表,分別是學生、委員會、事件、evtstatus。 我需要從每個表中檢索一些數據。
我已經在 mysqli 中嘗試過了,但仍然出現一些錯誤
警告:mysqli_fetch_array() 期望參數 1 是 mysqli_result,布爾值在 C:\\xampp\\htdocs\\Student\\index.php 第 106 行給出
學生:
student_id | name | member_type
10 | Ali | Not A Member
14 | James | Member of Taekwando
15 | Bakar | Not A Member
委員會:
committee_id | email | image |
1 | abc@gmail.com | pic.jpg |
2 | abccd@ymail.com | pic1.jpg |
3 | shdhs@yahoo.com | pic2.jpg |
事件:
event_id | event_name | start_date | committee_id |
11 | Sport Meeting | 2018-12-19 20:00:00 | 1 |
12 | Yamacha Tonite | 2018-12-18 21:00:44 | 1 |
13 | Family Gathering | 2018-12-17 22:00:44 | 3 |
事件狀態:
evt_id | event_id | student_id | status_info |
111 | 11 | 10 | Not Going |
112 | 12 | 14 | Going |
113 | 13 | 15 | Going |
事件和委員會中的“committee_id”是相同的。 event 和 evtstatus 中的 'event_id' 也相同。
我想選擇commission_id == 1下的事件名稱,start_date,student_id,member_type,status_info
所以查詢結果應該是(在這種情況下)
Sport Meeting | 2018-12-19 20:00:00 | 10 | Not A Member | Not Going
Yamacha Tonite| 2018-12-18 21:00:44 | 14 | Member of Taekwando | Going
使用典型的JOIN
可以做到這一點:
select
e.event_name,
e.start_date,
es.student_id,
s.member_type,
es.status_info
from evtstatus es
join student s on s.student_id = es.student_id
join event e on e.event_id = es.event_id
join committee c on c.committee_id = e.committee_id
where e.committee_id = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.