我有这个数据库表“MyTable”包含如下所示的数据,我想使用where子句从中获取数据,以便我可以在“MyView2”上获得一个视图。
MyTable
StudentID courseID scores term Academic year
A001 PHY 70 1 2016
A004 MATH 60 2 2014
A001 CHEM 80 1 2016
A002 MATH 72 1 2016
A002 CHEM 61 1 2016
A004 PHY 49 2 2014
A001 MATH 89 1 2016
A002 PHY 65 1 2016
A004 CHEM 71 2 2014
到目前为止,我已经使用这段代码将这些结果带到了“MyView”
<?php
……………………………………
SELECT stid, MAX( CASE WHEN courseid = 'MATH' THEN marks END) MATH ,MAX( CASE WHEN courseid 'CHEM' THEN marks END) CHEM,MAX( CASE WHEN courseid = 'PHY' THEN marks END) PHY FROM MyTable GROUP BY stid ORDER BY 1"
…………………………
?>
MyView
StudentID MATH CHEM PHY
A001 70 80 89
A002 72 61 65
A004 60 71 49
我应该在何处以及如何实施“where clause”以根据2016学年第1学期的结果,将结果放在“MyView2”表上
MyView2
StudentID MATH CHEM PHY
A001 70 80 89
A002 72 61 65
答案 0 :(得分:0)
如果您使用以下查询,并使用PHP或JavaScript处理所有进一步处理,这将更加简单和灵活...
SELECT stid
, courseid
, marks
FROM MyTable
ORDER BY stid, courseid