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