2016-04-19 58 views
0

我想爲MySQL形成一個查詢,它從多個表中獲取所有信息,但只顯示「活動」=「其他」的信息。現在它顯示每個人的信息,我不知道正確的方式來格式化查詢的WHERE部分。我希望它進入職位搜索表格,閱讀活動,並只返回那些地方的活動是「其他」如何形成正確的查詢

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

回答

0

您的SQL語法是OK如果jobsearch.activity場這個詞的其他周圍VARCHAR使用單引號,並且只使用一個「=」是沒有錯的

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

此外,我建議使用別名,而不是使用「選擇*」,你可能會遇到一個問題,因爲你在不同的表中有相同的字段名稱,嘗試使用這樣的東西。

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';