最近在做考研相關的項目,中途遇到一個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'
可以得到結果
科目 |
---|
思想政治理論 |
英語一 |
俄語 |
日語 |
德語 |