如何形成正确的查询

时间:2016-04-19 17:38:13

标签: php mysql

我正在尝试为MySQL创建一个查询,它从多个表中获取所有信息,但只显示"活动" ="其他"。现在它显示每个人的信息,我不知道格式化查询的WHERE部分的正确方法。我希望它访问jobSearch表,阅读活动,只返回活动所在的那些"其他"

$query_student = "  SELECT *
                    FROM student
                    JOIN major
                    ON student.studentID=major.studentID
                    JOIN jobSearch
                    ON major.studentID=jobSearch.studentID
                    WHERE jobSearch.activity == Other";

2 个答案:

答案 0 :(得分:0)

您的SQL语法错误,应该是:

SELECT * FROM table_name WHERE column = value

在你的情况下:

SELECT * FROM student ... WHERE jobSearch.activity = 'Other' 

供参考,请查看有关SQL语法的好教程:http://www.tutorialspoint.com/sql/sql-where-clause.htm

答案 1 :(得分:0)

您的SQL语法没问题

SELECT *
FROM student
JOIN major ON student.studentID=major.studentID
JOIN jobSearch ON major.studentID=jobSearch.studentID
WHERE jobSearch.activity = 'Other';

如果jobsearch.activity字段是varchar,请在单词Other周围使用单引号并仅使用一个“=”。

另外我建议使用别名而不使用“Select *”,因为在不同的表中使用相同的字段名称,可能会遇到问题,尝试使用类似的东西。

SELECT st.*, mj.field1, mj.field2, js.activity, js.field2
FROM student st
JOIN major mj ON st.studentID=mj.studentID
JOIN jobSearch js ON mj.studentID=js.studentID
WHERE js.activity = 'Other';