所以我正在处理数据库中的一些表,我想知道查询它的最佳方法。
这是设置:
EVENTS:
int event_id
varchar event_name
date event_date
ATTENDANCE:
int attendance_id
int event_id (foreign key for EVENTS)
int user_id (foreign key for USERS)
int status
USERS:
int user_id
varchar first_name
varchar last_name
varchar email
我要做的几乎就是有一个我想要获得出勤的事件(ID#),然后查询出勤表以获取与该事件匹配的所有记录,然后查询用户表中引用的所有用户作为该活动的一部分出席。
想到的第一个想法是先查询数据库中的所有考勤条目,并得到一个数组,然后循环遍历每条记录以查询用户信息。然而,这似乎非常低效,并且必须有一个更好的方法来连接或类似的东西。我没有太多的连接经验,所以我想知道是否可以得到一些帮助。
这是我最初想的伪代码:
SELECT * FROM attendance WHERE event_id = eventID
while (row exists):
SELECT FROM users WHERE user_id = attendanceUserID
get info export in xml...etc.
我认为这不是最好的方法,那么更好的方法是什么?