2017-03-03 52 views
1

我正在研究這個教授系統,其中教授表存儲主題ID,職業和主題存儲在他們自己的表中,並且我擁有career_subject關聯實體,因爲系統假定相同的主題可能屬於幾個職業。這些表是這個樣子:使用關聯實體過濾值的SQL查詢

  • CAREER(ID,姓名,配額)
  • 主體(ID,姓名,EXAM_DATE)
  • 教授(ID,姓名,subject_id)
  • CAREER_SUBJECT(career_id, subject_id)

那麼,我如何獲得教授使用SQL教授的職業名稱呢?

我試圖用

SELECT name FROM career 
    INNER JOIN career_subject ON career_subject.subject_id = career_subject.subject_id 
    WHERE professor.subject_id = subject.id; 
+1

人們下投票的問題,因爲你還沒有嘗試。請記住,SO不是代碼寫入服務。如果你在SQL查詢中提供了一個體面的嘗試,有人可能會幫助它修復 –

+2

,謝謝你的建議! – Nelson

回答

2
SELECT p.name as 'Professor', c.name as 'Career' FROM professor p 
    INNER JOIN career_subject cs ON cs.subject_id = p.subject_id 
    INNER JOIN career c ON c.id = cs.career_id 
+0

另請注意,您應該使用您正在使用的SQL的特定風格來標記問題。我在我的答案中假定了MSSQL,但是您可能正在使用其他的東西,所以您可能需要相應地調整語法。 –

+0

如果您想要ANSI SQL答案,只需從列別名中刪除單引號即可。 (ANSI SQL有分隔標識符的雙引號,例如'「Professor」'也許會被MS SQL Server接受。) – jarlh

+0

就像一個魅力,謝謝你們兩個! – Nelson