
Envoyé par
Médiat

Envoyé par
marsupix
je dirais que c'est la table subcat qui est mal faite.
elle n'a aucun identifiant (clé primaire) permettant de désigner chaque "sous-catégorie"
Pas d'accord : la clé primaire est (sid, cid).
je suis d'accord avec marsupix, la table SUBCAT n'a pas de clé primaire.
la structure des tables devraient normalement être:
CAT(
cid, label)
PRODUCTS(
pid,
sid, label)
SUBCAT(
sid,
cid, label)
dans ce cas, la table PRODUCTS est fille de la table SUBCAT. donc PRODUCTS prend la clé primaire de SUBCAT.
la table SUBCAT est fille de la table CAT. donc SUBCAT prend la clé primaire de CAT.
la requete devient
select distinct products.label from products,subcat where subcat.sid=products.sid AND subcat.cid= "clé primaire de HDD"
Or dans ta table, le champ sid , qui doit etre celui de ta clé primaire a des valeurs repetés!
elle ne pourra jamais marcher ta requete.

Envoyé par
Médiat
Pas d'accord : la clé primaire est (sid, cid).
désolé Médiat, la clé primaire est sid !, donc, cette table n'a pas de clé primaire dans sa structure actuelle.
Partager