INSERT INTO Ans_Quest_Test
SELECT FLOOR(RAND(CHECKSUM(NEWID())) * 10000) --random number
, FLOOR(RAND(CHECKSUM(NEWID())) * 10000)--random number
, FLOOR(RAND(CHECKSUM(NEWID())) * 10000)--random number
, Stdname FROM Csv
INSERT INTO Ans
SELECT AnsId, Ans, StdScore FROM Ans_Quest_Test
JOIN Csv ON Ans_Quest_Test.Stdname=Csv.stdname
INSERT INTO Quest
SELECT QuestId, Quest, ActualScore FROM Ans_Quest_Test
JOIN Csv ON Ans_Quest_Test.Stdname=Csv.stdname
我沒有看到在Csv
表Test
任何name
,所以我不能寫一個insert
爲表Test
:)
學生平均成績的一個問題
SELECT Stdname, AVG(Quest.ActScore)
FROM Ans_Quest_Test
JOIN Quest ON Ans_Quest_Test.Questid=Quest.id
GROUP BY Stdname
名
學生回答問題
SELECT Ans_Quest_Test.Stdname, Quest.Quest, Ans.Ans
FROM Ans_Quest_Test
JOIN Quest ON Ans_Quest_Test.Questid=Quest.id
JOIN Ans ON Ans_Quest_Test.Ansid=Ans.id
答案頻率問題
SELECT Quest.Quest, COUNT(Ans.id)
FROM Ans_Quest_Test
JOIN Quest ON Ans_Quest_Test.Questid=Quest.id
JOIN Ans ON Ans_Quest_Test.Ansid=Ans.id
GROUP BY Quest.Quest
目前尚不清楚你的要求。你能否改寫這個問題來澄清你的需求? – bobs 2010-09-03 18:58:53
這是一個功課問題嗎? – ErikE 2011-05-22 04:54:32
你是說你只有一張桌子,所有這些元素都在列中?或者你是否想要把'Csv'表格標準化爲'Ans','Quest','Test'和'Ans_Quest_Test'表格? – 2011-08-09 13:37:57