我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...

  • 作者:由 匿名使用者 發表于 舞蹈
  • 2022-09-24

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名,授課教師,學分) 選課成績(學號,課程號,成績)三張表

如果根據以上的條件用SQL語句實現一份班級成績單,當然每個人修的課程是一樣的,怎樣實現,高手幫幫!!

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...jyl_19 2011-01-02

declare @str varchar(8000)

declare @sql varchar(8000)

set @str=‘’

select @str=@str+‘,[’+課程名+‘]=max(case when t2。課程號=’‘’+課程號+‘’‘ then t3。成績 end)’ from 課程

set @sql=‘select t1。學號,t1。姓名’+@str+‘,[總成績]=sum(t3。成績) from 學生 t1,課程 t2, 選課成績 t3 where t1。學號=t3。學號 and t2。課程號=t3。課程號 group by t1。學號,t1。姓名’

print @sql

exec(@sql)

最終生成sql語句類似以下效果。

select t1。學號,t1。姓名,

[語文]=max(case when t2。課程號=‘1’ then t3。成績 end),

[數學]=max(case when t2。課程號=‘2’ then t3。成績 end),

[總成績]=sum(t3。成績)

from 學生 t1,課程 t2, 選課成績 t3 where t1。學號=t3。學號 and t2。課程號=t3。課程號 group by t1。學號,t1。姓名

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...網友a974616 2011-01-04

以下圖為例

學號 課號 成績

X1 K1 90

X1 K2 90

X1 K3 90

X2 K1 90

X2 K2 90

X2 K3 90

X3 K1 90

X3 K3 90

則會發現 學號+課號 具有唯一性(鍵或碼的充要條件),單獨的學號或者課號也不具有唯一性,所以不能單獨作為鍵或碼。 同時注意,圖中成績都為90分的話,那麼成績在該表討論 鍵或碼 的問題中是沒有意義的。如果成績改成排名的話,並且強制排名只能具有唯一性的話,排名就可以單獨成為 鍵或碼。

判斷鍵或碼的時候主要是看是否具有唯一性。

所以 C

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...wangzhiqing999 2011-01-02

SELECT

課程。課程名,

學生。姓名,

選課成績。成績

FROM

學生, 課程, 選課成績

WHERE

學生。學號 = 選課成績。學號

AND 課程。課程號 = 選課成績。課程號

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...342706466 2011-01-02

select 學號,姓名,成績,課程名 from

學生,課程,選課成績

where 學生。學號=選課。成績學號

and 課程。課程號=選課成績。課程號

你試試吧 不太明白你的意思

我想請教下,有: 學生(學號,姓名,性別,專業) 課程(課程號,課程名...psychic0111 2011-01-02

專業是指學生的班級嗎

Top