我正在尝试为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";
答案 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';