Aller au contenu

requete sur deux tables différentes


Sujets conseillés

Posté

Bonjour,

Je dois effectuer une requete sur deux tables.

Ces deux tables sont différentes, il n'y a pas le même nombre de champs, les champs n'ont pas les mêmes noms, et il n'y a aucun élèments qui puisse les relier.

Comment faire ?

J'ai tenté ceci:

$sql="SELECT table1.id, table2.numero FROM table1,table2 WHERE table1.champx = 'oui' and table2.champy = 'ok'";

mais il m'annonce 25 fois plus de résultats que ceux qu'il devrait trouver normalement... :wacko:

Posté

J'avoue que je m'embrouille complètement avec cette requete...

J'ai les neurones toutes mélangées à force...

Si je fais deux requêtes, comment est-ce que je vais rassembler et trier les résultats ensembles...

En gros, j'ai une vielle table 'Objets' que je ne peux pas modifier parce qu'un couplage logiciel à été réalisé dessus.

J'ai ensuite une nouvelle table 'Articles'.

Dans la table 'Objets', je veux remonter les champs: Prix, Poid, Couleur, là ou champx='oui'

ET

dans la table 'Articles', je veux afficher les champs: l_prix, l_poid, l_couleur,l_quantite,l_fournisseur, là ou champy='ok'

ET ensuite je veux retrier tous les résultats par ordre Prix et l_prix ASC... :sick:

Posté

Et il n'existe aucun lien possible entre ses deux tables ? pas de nom d'article, de référence, etc.?

Sinon, les deux requêtes sont la solution, l'affichage se faisant par traitement php.

xpatval

Posté (modifié)

J'ai une piste, en faisant une requete du type:

select Prix, Poid, Couleur from Objets where champx='oui' union all select  l_prix as Prix, l_poid as Poid, l_couleur as Couleur from Articles where champy='ok' order by Prix

j'obtiens bien le bon total , maintenant je vais poursuivre avec l'affichage, mais bon la requête fonctionne de cette façon.

Merci

Modifié par yankey
Posté
(...)

J'ai ensuite une nouvelle table 'Articles'.

Dans la table 'Objets', je veux remonter les champs: Prix, Poid, Couleur, là ou champx='oui'

ET

dans la table 'Articles', je veux afficher les champs: l_prix, l_poid, l_couleur,l_quantite,l_fournisseur, là ou champy='ok'

ET ensuite je veux retrier tous les résultats par ordre Prix et l_prix ASC... :sick:

Comme Portekoi te l'a conseillé, il vaut mieux effectuer 2 requêtes distinctes. Tu créé un tableau $tab_prix, $tab_poids, $tab_couleur, $tab_qte, et $tab_fournisseur. Tu enregistre les résultats de tes 2 requêtes dans ces tableaux. Ensuite, tu auras juste à faire un tri sur ton tableau en utilisant la fonction asort()

:)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...