MySQL条件选择语句?

好的,所以我有一个客户想要为系统中的一群学生输出所有信息。MySQL条件选择语句?

该输出将被导入到Excel中进行操作。

所以,我的问题是,我想输出从4桌

所有学生的信息

试镜 安排试镜 型材 试镜次

所以,试镜表获取并录入任何信息链接那里给学生当试听录音。在此之前,db中没有他们的试镜。

所以,我要输出一行是说,当他们预定的面试是每个学生,然后如果他们有他们的听力已经导入的信息,但如果没有,只是离开领域的空白。

我有这样的事情,到目前为止

"SELECT ".$fields." FROM profiles p, auditions a, scheduled_auditions s, 

audition_times t WHERE p.id=t.id AND t.id=s.id AND a.id=p.id"

的问题是显而易见的。它只会输出有试镜的人。那么,我该如何写一个有条件的select/where语句呢?我需要用一个查询输出,以便在Excel中打开时能够正常工作。

谢谢你们。我很难过。

回答:

您想要执行外连接;即使联接记录为空,外部联接也会返回结果。

具体来说,在试镜桌上指定一个LEFT OUTER JOIN将会强制返回所有学生的记录,即使是没有试镜的记录也会被返回。

回答:

您是否考虑使用LEFT OUTER JOIN?

如果您将表A和B连接到一个内部联接,则只会获得存在于A和B中的行。如果使用LEFT JOIN,您将获得A中的所有行。其中一些行将包含数据从B存在。否则,来自B的那些列将是空的。

编辑:左JOIN B在逻辑上等同于b右键加入 - 如此为所欲为是最有意义的在你的头上(感谢保罗!)。

回答:

听起来像你只是需要一个外部联接,这就像一个普通的联接,但没有匹配的键,它将只为每个字段返回NULL。

SELECT * 

FROM profiles p

LEFT OUTER JOIN audition_times t

ON p.id=t.id

LEFT OUTER JOIN scheduled_auditions s

ON t.id=s.id

LEFT OUTER JOIN auditions a

ON a.id=p.id"

回答:

您需要为此使用外部联接。看看http://en.wikipedia.org/wiki/Join_(SQL)#Outer_joins

以上是 MySQL条件选择语句? 的全部内容, 来源链接: utcz.com/qa/258250.html

回到顶部