begin process at 2012 05 27 00:27:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

Probleme requete multi table


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

Probleme requete multi table

mercredi 19 octobre 2005 à 14:48:15 | Probleme requete multi table

fred6655

Bonjour,
J'ai un problème avec une requete sur ma base sql. J'ai 3 tables : artiste (idartiste, artpseudo), marque (idmarque, marnom), produit (idartiste, idmarque, pronom).
Un produit peut appartenir à un artiste OU à une marque. Pour sélectionner les fiches je fais donc :
$Resultat = mysql_query("SELECT DISTINCT produit.idproduit, produit.pronom, produit.idartiste, produit.idmarque, artiste.idartiste, artiste.artpseudo, marque.idmarque, marque.marnom FROM produit, artiste, marque WHERE  produit.idartiste LIKE artiste.idartiste AND produit.idartiste>'0' OR produit.idmarque LIKE marque.idmarque AND proetat='1' AND produit.idmarque>'0' ORDER BY pronom");

Le problème est que les produits des artistes apparaissent autant de fois qu'il y a de marque et inversemment pour les produits des marques. Pour être plus clair, s'il y a 10 marques, un produit d'artiste va apparaitre 10 fois. Dois-je faire 2 requêtes pour éviter ce problème ? Et si oui comment ensuite trier l'ensemble des 2 requêtes par le nom du produit (pronom) ?

Merci.
FRED

mercredi 19 octobre 2005 à 16:01:06 | Re : Probleme requete multi table

aieeeuuuuu

Réponse acceptée !

salut

tu peux faire deux requetes en une en utilisant UNION, et trier le tout !

SELECT ...

FROM produit, artiste

WHERE...

UNION
SELECT ...
FROM Produit, marque
WHERE ...
ORDER BY Produit

mercredi 19 octobre 2005 à 16:25:01 | Re : Probleme requete multi table

fred6655

Ca marche merci ! Etrangement d'ailleurs, parce que j'avais déjà essayé union sans resultat... J'avais sans fait une erreur de syntaxe à ce moment là.

FRED
jeudi 20 octobre 2005 à 11:46:12 | Re : Probleme requete multi table

fred6655

Maintenant le problème est qu'il me met tous les enregistrements idmarque dans idartiste de sorte que lorsque je fais echo $result[idmarque], je n'ai rien...Mais lorsque je fais afficher les idartistes il me mets même les identifiants marque...
Lorsqu'on utilise union, faut-il employer une autre syntaxe pour l'affichage des résultat ?

Merci
FRED

jeudi 20 octobre 2005 à 12:15:04 | Re : Probleme requete multi table

aieeeuuuuu

oui c'est normal, en fait les ID se trouvent tous dans la meme colonne, que ca soit une marque ou un artiste. c'est le resulta du UNION...

pour eviter cela, tu peux modifier tes select :

SELECT idproduit, pronom, idArtiste, idMarque, 0,0

FROM produit, artiste

WHERE...

UNION idproduit, pronom, 0,0, idMarque

jeudi 20 octobre 2005 à 12:18:01 | Re : Probleme requete multi table

aieeeuuuuu

.. suite !
bon post a été coupé :(
donc :
SELECT idproduit, pronom, idArtiste, artPseudo, 0,''

FROM produit, artiste

WHERE...

UNION
 SELECT idproduit, pronom, 0,'', idMarque, marNom
FROM produit, marque
...


ainsi les produits qui sont rattachés a un artiste auront 0 comme idMarque, et ceux qui sont rattachés a une marque auront 0 comm idArtiste


 

jeudi 20 octobre 2005 à 15:15:44 | Re : Probleme requete multi table

fred6655

Alors je dois mal m'y prendre parce que l'idmarque n'est toujours pas trouvé. J'utilise ceci :
SELECT produit.idproduit, produit.pronom, produit.idartiste, artiste.idartiste, 0, 0
FROM produit, artiste
WHERE produit.idartiste LIKE artiste.idartiste
UNION
SELECT produit.idproduit, produit.pronom, 0, 0, produit.idmarque, marque.idmarque
FROM produit, marque
WHERE produit.idmarque LIKE marque.idmarque

Et pour les produits correspondant aux marques j'ai :  Undefined index: idmarque que je mette 0 ou '' c'est pareil...

Qu'est-ce qui cloche ?

Merci
FRED
jeudi 20 octobre 2005 à 17:20:02 | Re : Probleme requete multi table

aieeeuuuuu

es tu sur du nom du champs dans ta base de données ?

verifie tout tes nom de table et de champs


Cette discussion est classée dans : produit, marque, artiste, idmarque, idartiste


Répondre à ce message

Sujets en rapport avec ce message

Bien malin celui qui réussi cette requete (select,sum,*,group by,date,jointure ) [ par Rjoe ] Extrait du schéma relationnelle ou se trouve  les tables et les relations en questions  :premiere requete Le maximum ou le minimum d'une somme SUM() [ par wallole_ofm ] Bonjour,Je doit maintenir une application de gestion de stocks sous access 2  .Avec cette requête, je calcul la somme d'un produit par emplacement, il combien d'index faut il créer ? [ par vincentstryckmans ] Bonjour, Mon application enregsitre les description d'incident ferroviaire. Les causes réelles d'incident sont décrits en 6 mots. Les 4 premiers qui Table produit. Un produit a plusieurs prix [ par Cyru_s ] Bonjour, Je débute avec les bases de données. Je souhaite faire une base de données de matériel avec mysql. La table produit ressemblera un peu à cell Procedure stockees : Nb de parametres variables [ par kimwu ] Bonjour, J'ai des procedure stockes (ou plutot requetes stockés) dans une base de donnée access, que j'accede à partir d'un prgm en vb.net J'ai un Affichage d'une base de donnée multirelationnelle [ par XDsl13 ] Bonjour.J'ai une base de donnée avec trois tables la table principal article et deux table avec dedans referencé pour l'une des marque de vêtement et Conception une base de données [ par younes371 ] Bonjour,j'ai fait une conception pour ma base de données, et je vous demande si c'est bon.Pour chaque Produit il ya un id et le nom, et aussi ce produ Supprimmer un enregistrement sur plusieurs tables [ par Jordan59 ] Bonjour à tous,Je suis en train de réaliser un e application en C# avec une base de données Mysql non relationnelle car je l'ai laissée en MyIsam et n problee de requete sur 3 tables [ par 6miK ] Bonsoir,j'aimerais faire une requête sur 3 tables différentes pour  pouvoir avoir tout les clients d'un fournisseur grâce à la table produit qui conna session [ par zdig10 ] salutje suis debutant et j'avais un probleme a propos de mes sessions je suis entrain de construire un site web dynamique dans lequel j'ai integré la


Nos sponsors


Sondage...

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 : 0,312 sec (4)

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