我正在创建一个数据库,我有3个表。志愿者表和事件表。我创建了一个EventVolunteer表,它是多对多关系的结果。每个表中的字段是:
活动表
Event
EventID
Event_Name
Event_Location
Starting_Point
Ending_Point
志愿者表
Volunteer
VolunteerID
Volunteer_FName
Volunteer_LName
Volunteer_Age
Volunteer_Email_Address
First_Aid
EventVolunteer表
EventVolunteer
EventID
Volunteer ID
eventVolunteer目前正在显示所有活动ID和所有志愿者
一些志愿者First_Aid字段设置为yes,一些设置为no。
我需要一个查询,显示所有有急救事件的志愿者,急救值设置为是或否。
答案 0 :(得分:0)
首先,您需要连接表,然后使用WHERE子句来查找值。
您可以将*替换为您想要的字段
SELECT *
FROM EventVolunteer AS ev
INNER JOIN Event AS e
ON ev.EventID = e.EventID
INNER JOIN Volunteer AS v
ON ev.VolunteerID = v.VolunteerID
WHERE v.First_Aid = 'yes'
答案 1 :(得分:0)
试试这个:
select * from volunteer t
join event_volunteer t2 on t.volunteer_id=t2.volunteer_id
where t.first_aid = true //if it's boolean
答案 2 :(得分:0)
你的问题有点模糊。我的假设如下:您想获得所有具有急救技能的志愿者名单(Volunteer.First_Aid =是)并已注册参加活动。您想要返回志愿者详细信息以及他们注册的活动。您可以使用以下查询:
SELECT v.*, e.*
FROM
Volunteer v
INNER JOIN EventVolunteer ev
ON v.Volunteer_ID = ev.Volunteer_ID
INNER JOIN Event e
ON ev.EventID = e.EventID
WHERE
v.First_Aid = 'Yes'
如果您有不同的结果,请在问题中添加更多详细信息。
的Marius