最近在做考研相关的项目,中途遇到一个sql查询的问题表scope是一个关于考研科目的表,其中包含了考研政治,考研英语,考研数学以及考研专业科这些字段,学校+专业决定考研科目,我要查询得到某个学校某个专业要考哪些科目,就想把这几个字段合并为一列。比如:
学校 | 专业 | 政治 | 外语 | 专业科一 | 专业科二 |
---|---|---|---|---|---|
学校A | 专业A | 思想政治理论 | 英语一 | 西方哲学史一 | 马克思主义哲学 |
学校A | 专业A | 思想政治理论 | 俄语 | 西方哲学史一 | 马克思主义哲学 |
学校A | 专业A | 思想政治理论 | 日语 | 西方哲学史一 | 马克思主义哲学 |
学校A | 专业A | 思想政治理论 | 德语 | 西方哲学史一 | 马克思主义哲学 |
要得到同一个学校并且同一个专业的所有考试科目,在参考了http://bbs.csdn.net/topics/390410010值 后知道了怎么处理,具体写法是(PS:这里只列出合并两个字段的sql语句,另外实际项目中字段用不带中文)
SELECT 政治 as 科目 FROM scope
WHERE 学校= '学校A' AND 专业= '专业B'
UNION
SELECT 英语 as 科目 FROM scope
WHERE 学校= '学校A' AND 专业= '专业B'
可以得到结果
科目 |
---|
思想政治理论 |
英语一 |
俄语 |
日语 |
德语 |