begin process at 2012 05 27 05:17:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Requêtes

 > 

Scores : SOS AIDE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Scores : SOS AIDE

dimanche 12 avril 2009 à 21:01:33 | Scores : SOS AIDE

greg6fr

bonjour a tous.
je suis un debutant et voila qu'on me confie un preojet en sql/oracle, ou je ne sais par ou debuter les amis.
pouvez vous m'aider.
VOICI L'EXERCICE
Un petit QCM est basée sur 2 tables.L'une de ces tables contient les informatons sur les sondés(nom,prenom,etc.) ainsi que leurs reponses au questions(tables T_PANEL_PNL).
L'autre table contient, elle les reponses aux questions(T_REPONSES_RPS).
-----------------------------------------------------------------------------------------------------------
TACHE:                                                                                                                                                  -
Il vous est demandé d'obtenir, à lo'aide d'une requete, le nombre de bonne reponses de chaque sondés.    -
VOICI LE JEU D'ESSAI UTILISE:
                                                                                                        -
-----------------------------------------------------------------------------------------------------------

/** CREATION DE LA TABLE NOMMEE T_PANEL_PNL CONTENANT LE NOM DU SONDE ET LES REPONSES CHOISIES
**/

CREATE TABLE T_PANEL_PNL(
PNL_NOM VARCHAR(16),
PNL_REPONSE1 INTEGER,
PNL_REPONSE2 INTEGER,
PNL_REPONSE3 INTEGER,
PNL_REPONSE4 INTEGER,
PNL_REPONSE5 INTEGER);

/** INSERTION DANS LA TABLE T_PANEL_PNL
**/

INSERT INTO T_PANEL_PNL VALUES ('Pierre',1,2,3,0,0);
INSERT INTO T_PANEL_PNL VALUES ('Paul',1,5,3,2,1);
INSERT INTO T_PANEL_PNL VALUES ('Jacques',0,3,3,2,2);

/** CREATION DE LA TABLE NOMMEE T_REPONSES_RPS CONTENANT LES REPONSES
**/

CREATE TABLE T_REPONSES_RPS(
RPS_REPONSE1 INTEGER,
RPS_REPONSE2 INTEGER,
RPS_REPONSE3 INTEGER,
RPS_REPONSE4 INTEGER,
RPS_REPONSE5 INTEGER);

/** INSERTION DANS LA TABLE T_REPONSES_RPS
**/

INSERT INTO T_REPONSES_RPS VALUES (1,4,3,2,1);



La reponse attendue est la suivante:

PNL_NOM BONNES_REPONSES
---------------------------------------------
Paul 4
Pierre 2
Jacques 2

mardi 14 avril 2009 à 11:29:46 | Re : Scores : SOS AIDE

aieeeuuuuu



Bonjour,

La modélisation n'est pas top pour ce genre de chose (il eut fallu un table a part pour les réponses des candidats), mais si tu n'a pas moyen de modifier la strucuture de la base, tu peux faire ca :

SELECT Nom, Count(*)
FROM T_PANEL_PNL P
INNER JOIN
T_REPONSES_RPS R1 ON (P.PNL_REPONSE1  =R1.RPS_REPONSE1)
INNER JOIN T_REPONSES_RPS R1 ON (P.PNL_REPONSE2  =R1.RPS_REPONSE2)
INNER JOIN T_REPONSES_RPS R1 ON (P.PNL_REPONSE3  =R1.RPS_REPONSE3)
INNER JOIN T_REPONSES_RPS R1 ON (P.PNL_REPONSE4  =R1.RPS_REPONSE4)
INNER JOIN T_REPONSES_RPS R1 ON (P.PNL_REPONSE5  =R1.RPS_REPONSE5)
UNION
SELECT Nom, 0
FROM T_PANEL_PNL P,
T_REPONSES_RPS R
WHERE P.REPONSE1 <> R.RPS_REPONSE1
AND
P.REPONSE2 <> R.RPS_REPONSE2
AND P.REPONSE3 <> R.RPS_REPONSE3
AND P.REPONSE4 <> R.RPS_REPONSE4
AND P.REPONSE5 <> R.RPS_REPONSE5


C'est un peu lourd, mais vue la structure de la base, je ne vois pas comment faire une requete plus "classe"


dimanche 21 juin 2009 à 13:24:43 | Re : Scores : SOS AIDE

EricSQL

Bonjour,
comme ceci ce sera plus propre :
Select res.pnl_nom , case PNL_REPONSE1 when RPS_REPONSE1 then 1 else 0 end + case PNL_REPONSE2 when RPS_REPONSE2 then 1 else 0 end + case PNL_REPONSE3 when RPS_REPONSE3 then 1 else 0 end + case PNL_REPONSE4 when RPS_REPONSE4 then 1 else 0 end + case PNL_REPONSE5 when RPS_REPONSE5 then 1 else 0 end from T_PANEL_PNL res , T_REPONSES_RPS rep ;

/Eric


Cette discussion est classée dans : panel, integer, reponses, pnl, rps


Répondre à ce message

Sujets en rapport avec ce message

Clés Primaire en VARCHAR [ par ffert ] Bonjour, Je souhaite créer des clés primaires en VARCHAR(30), mais j'ai peur que ce soit plus lent qu'avec un INTEGER ou un INTEGER Autoincrémental. s requête sql [ par jodanielprince ] Voici ma BDD Liste_Message(#Message_ID,Objet, Pseudo, service, Direction, date_M, Message) Reponse(#Reponse_ID, Message_ID, Auteur, Date_R, reponse) Unicitee d'une combinaison de champ mySQL [ par epicfail ] Bonjour, je voudrais que dans ma table compose de 5 champs, la combinaison de ces 5 champs soit unique mais je ne sais pas comment faire merci de m'a aide pour la creation d'un table [ par haffoudhi ] j'ai installe oracle database 10g express edition et jai fait la creation de table suivant dans le code est : CREATE TABLE client ( Bonjour [ par lektrosonic ] Bonjour, Voici ma table : [code=autre][code=autre]CREATE TABLE bike_stats ( "idDay" smallint, "idStation" integer, "avSlots" integer, Requete de suppression SQL server [ par powerwave ] Bonjour, j'ai une table avec deux clé primaire: create table BL(Numero integer,Exercice integer,Reference varchar(50) constraint fk_bl foreign key r


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales