因此,我正在使用数据库中的几个表,并且想知道查询它的最佳方法。MYSQL查询 - 加入或循环查询
这里的设置:
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.
我不认为这是要做到这一点的最好办法,所以这将是更好的方式来做到这一点?
很好的学习机会加入;他们起初可能会感到害怕,但你很快就会变得自然。 [从这里开始](http://www.w3schools.com/sql/sql_join_inner.asp) –
所以你认为连接是最好的方式去做这件事? – phouse512
这就是加入。尝试'选择 e.event_name,e.event_date, u.first_name,u.last_name,u.email 从事件Ë INNER JOIN上座率ON a.event_id = e.event_id INNER JOIN用户U ON u.user_id = a.user_id'我只是把它键入我的头顶,这应该给你一个方向去看看 –