我有3个表states
,cities
,colleges
。所有都包含id和相应的名称。
我还有一个表students
,其列名为id, studentname, state, city, college
。
现在我需要搜索有多少学生来自选定的州/市/学院。有时我需要选择多个选项,如州和城市,但不是大学或州立大学,而不是城市等......
我的查询是:
SELECT `state`, `city`, `college`, `student name` FROM `students` where `state`='1' AND `city`='4';
它会返回记录,但state
city
college
列将是外键,我需要查看城市名称,但不是城市ID,州名但不是州ID等。< / p>
答案 0 :(得分:0)
使用sql join假设为每个学生保存state_id,city_id,college_id为
SELECT `states.*`, `cities.*`, `colleges.*`, `students.*` FROM `students` left join states on states.id = students.state_id left join cities on cities.id = students.city_id left join colleges on colleges.id = students.id where `students.state`='1' AND `students.city`='4';