[php/mysql] requête sql avec Jointure

Fermé
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 - 6 sept. 2009 à 02:12
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 - 6 sept. 2009 à 14:34
Bonjour,
j'ai trouvé la requête ci dessous dans un script php : est ce que on programme ce type de requête à la main ou bien ya un outil pour faciliter l'écriture des requête et surtout les jointures ???
$req="SELECT id_membre AS id, id_membre AS id1, pseudo_membre AS tier1, id_membre AS id2,pseudo_membre AS tier2, avator_membre AS image, dateinscription_membre AS date, 'membre' AS type FROM membre
UNION
SELECT id_media AS id, media.id_membre as id1, pseudo_membre AS tier1, id_media as id2,titre_media AS tier2 , avator_membre AS image, date_media AS date, 'media' AS
type FROM media
INNER JOIN membre ON membre.id_membre = media.id_membre
UNION
SELECT id_article AS id, article.id_membre as id1, pseudo_membre AS tier1, id_article as id2, titre_article AS tier2, avator_membre AS image, date_article AS date, 'article' AS
type FROM article
INNER JOIN membre ON membre.id_membre = article.id_membre
union
SELECT id_commentaire_media AS id, m1.id_membre as id1 ,m1.pseudo_membre AS tier1, m2.id_membre as id2,m2.pseudo_membre AS tier2, m1.avator_membre AS image, date_commentaire_media AS date, 'commMedia' AS
type FROM commentaire_media
INNER JOIN media ON media.id_media = commentaire_media.id_media
INNER JOIN membre as m1 ON m1.id_membre = commentaire_media.id_media
INNER JOIN membre as m2 ON m2.id_membre = media.id_membre

union
SELECT id_commentaire_article AS id, m1.id_membre as id1,m1.pseudo_membre AS tier1,m2.id_membre as id2, m2.pseudo_membre AS tier2, m1.avator_membre AS image, date_commentaire_article AS date, 'commArticle' AS
type FROM commentaire_article
INNER JOIN article ON article.id_article = commentaire_article.id_article
INNER JOIN membre as m1 ON m1.id_membre = commentaire_article.id_membre
INNER JOIN membre as m2 ON m2.id_membre = article.id_membre

union
SELECT id_commentaire_membre AS id,m2.id_membre as id2, m2.pseudo_membre AS tier2, m1.id_membre as id1,m1.pseudo_membre AS tier1, m2.avator_membre AS image, c.date_commentaire_membre AS date, 'commMembre' AS type FROM membre as m1
INNER JOIN commentaire_membre as c ON m1.id_membre = c.id_commentateur
Inner join membre as m2 on m2.id_membre=c.id_membre
union
SELECT m1.id_membre AS id, m1.id_membre as id1,m1.pseudo_membre AS tier1,m2.id_membre as id2 ,m2.pseudo_membre AS tier2, m1.avator_membre AS image, r.date_ajout AS date, 'relationMembre' AS
type FROM membre as m1
INNER JOIN relation_membre as r ON m1.id_membre = r.id_amis
Inner join membre as m2 on m2.id_membre=r.id_membre
order by date DESC limit 0, 6";
A voir également:

4 réponses

C'est juste une requête ca???? :O

Je crois que c'est plusieurs requêtes qui ensemble...donc au lieu d'en faire plusieurs une a la fois...le gars doit s'avoir si...pourquoi pas tous ensemble... Enfin, tu devrais essayer de les séparé et de d'y retrouver^^
0
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 81
6 sept. 2009 à 14:19
Ce que je voulais savoir, est ce que y a t'il un moyen plus facile pour l'écriture des jointures via un outil comme par exemple celui de access .... ou ce type de requête ne peut être programmer que à la main ...

Merci
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
6 sept. 2009 à 14:25
Slt
tu peux bel et bien utiliser un outil hyper puissant pour réaliser cet type de requete toute fois tu disposes du meilleur outil au monde pour le faire à savoir un cerveau.
car même si on met à ta disposition un outil de ce genre et si tu n'as pas la logique du langage et ses spécificités tu n'y arriveras pas.
dit toi que ceux qui utilisent efficacement ces outils dont bel et bien capable d'ecrire ces requete à la main. car ils connaissent ce qu'ils font.

cdlt.
;-)
0
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 81
6 sept. 2009 à 14:34
OK, merci, ce qui m'a pris à poster cette question, c'est que pratiquement les requêtes sql que j'ai trouvé dans le script php que je vais le mettre à niveau sont presque tous faite avec des jointures même si dans quelque unes la jointure est inutile .
0