Requête SQL

Fermé
amedbledar Messages postés 7 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 28 juin 2015 - 28 juin 2015 à 00:12
amedbledar Messages postés 7 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 28 juin 2015 - 28 juin 2015 à 13:38
bonjour,
j'ai un exercice avec des requêtes et et je dois donner leurs résultats, mais je ne voie pas à quoi cela correspond:

voici les tables, il y en a 3:


les Requête sont les suivantes

Requête 1
SELECT nom
FROM PERSONNE
WHERE num_p IN (SELECT pe.num_p
FROM PERSONNE pe, POSSEDE po
WHERE po.immat IS NULL
AND pe.num_p = po.num_p);

Requête 2
SELECT nom
FROM PERSONNE
WHERE num_p IN (SELECT num_p
FROM POSSEDE
GROUP BY num_p
HAVING COUNT (ordre) = 1);

Requête 3
SELECT immat
FROM VHEICULE
where immat IN (SELECT po.immat
FROM POSSEDE po
GROUP BY po.immat
HAVING COUNT (po.num_p) >1;

merci d'avance pour votre aide

1 réponse

DebutantSQL
28 juin 2015 à 09:06
Bonjour amedbledar

Je pense qu'il manque une colonne dans la "
POSSEDE
".
Dans votre cas, une personne ne pourra avoir qu'un seul véhicule si
num_p 
est pris comme clé primaire.

Dans les requêtes 2 et 3 il y a un problème.
Il y a un
GROUP BY ...WHERE COUNT
mais dans le
 SELECT 
il n'y a pas de
COUNT
.
Çà ne peut pas marcher.
0
Bonjour

Dans votre cas, une personne ne pourra avoir qu'un seul véhicule si num_p est pris comme clé primaire. Mais personne n'a dit que num_p était une clé primaire de "possede". C'est toi qui imagines ça. Bien au contraire, les données montrent clairement que ce n'en est pas une.

il y a un problème.
Il y a un GROUP BY ...WHERE COUNT mais dans le SELECT il n'y a pas de COUNT

Non, ce n'est pas un problème.
0
amedbledar Messages postés 7 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 28 juin 2015 > Utilisateur anonyme
28 juin 2015 à 10:39
bonjour,

num_p est bien une clé primaire dans POSSEDE c'est l'exercice qui est comme ça. ce n'est pas moi qui est fait les table elle m'ont étaient donner comme ça. et le but est de donner le résultat des requêtes

voici le schéma de la base
VEHICULE (immat, type, couleur)
PERSONNE (num_p, nom, prenom)
POSSEDE (num_p, immat, ordre)
0
Utilisateur anonyme > amedbledar Messages postés 7 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 28 juin 2015
28 juin 2015 à 10:58
num_p est bien une clé primaire dans POSSEDE
Non. Une clé primaire est unique. Et dans les données, la valeur 1 apparaît plusieurs fois.
Il est raisonnable de penser que le couple (num_p,ordre) constitue une clé primaire composite de POSSEDE, mais le champ num_p seul certainement pas.
0
amedbledar Messages postés 7 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 28 juin 2015
28 juin 2015 à 11:06
ok merci
donc le schéma est faux ??
0
Utilisateur anonyme
28 juin 2015 à 12:31
As-tu eu un cours sur les bases de données ? Que dit-il sur les clés primaires ?
0