2010-09-03 5 views
0

J'ai importé des données dans la table csv via l'application .net, l'aide de pls, comment puis-je insérer dans toutes les tables afin que je puisse interroger;Comment insérer dans le serveur SQL Plusieurs tables de relations

  1. étudiant Score moyen à une question ou un test
  2. réponses des élèves à une question ou de la fréquence réponse à une question, etc.

Mes tableaux sont sous cette forme;

Csv    Ans   Quest  Test Ans_Quest_Test 
---------  ------  ------  ------ ------------- 
LName   id   id   Id  Ansid 
FName   Ans   Quest  name  Questid 
stdname  StdScore ActScore    Testid 
Quest           Stdname 
Ans 
ActualScore 
StdScore 
+0

On ne sait pas ce que vous demandez. Pouvez-vous reformuler la question pour clarifier ce dont vous avez besoin? – bobs

+1

Est-ce une question de devoirs? – ErikE

+0

Dites-vous que vous n'avez qu'une seule table avec tous ces éléments dans les colonnes? Ou essayez-vous de prendre la table 'Csv' et la normaliser dans les tables' Ans', 'Quest',' Test', et 'Ans_Quest_Test'? –

Répondre

0
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 

Je ne je vois pas name pour la Test dans le tableau Csv, donc ne peut pas écrire un insert pour la table Test :)

étudiant Score avg à une question

SELECT Stdname, AVG(Quest.ActScore) 
FROM Ans_Quest_Test 
    JOIN Quest ON Ans_Quest_Test.Questid=Quest.id 
GROUP BY Stdname 

réponses des élèves à une question

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 

fréquence de réponse à une question

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 
Questions connexes