Select sur 2 tables avec meme champs [Résolu/Fermé]

Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
- - Dernière réponse : jee pee
Messages postés
27008
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
21 octobre 2019
- 2 mars 2014 à 17:58
Bonjour à tous !

Quoi de mieux que de commencer ce dimanche avec un peu de php/sql ? ^^

alors mon probleme est simpe, je cherche a faire un select from sur deux tables dans la meme bdd et en cherchant les meme champs.

On va dire que mes tables se nomment gignac et ibra et que les champs que je souhaite sortir s'apellent nom, age et club

Comment je peux faire ça ?

Merci pour votre aide
Afficher la suite 

2 réponses

Messages postés
27008
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
21 octobre 2019
5578
0
Merci
Salut,

Si tu veut additionner les resultats des 2 tables il faut une union

select nom, age, club from gignac
where ....
union
select nom, age, club from ibra
where ....

cdlt

        Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
1
0
Merci
Slt jee pee et merci de t'intéresser à mon pb.

J'ai une erreur
Call to a member function fetch() on a non-object in


je te mets directement la requête :


$bdd->query('SELECT * from gignac WHERE visible="y" ORDER BY dateexp LIMIT 5 UNION SELECT * from ibra WHERE visible="y" ORDER BY dateexp LIMIT 5 ');

je ressors derriere ds un tableau les noms etcs.... donc on peur oublier cette partie!
jee pee
Messages postés
27008
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
21 octobre 2019
5578 -
Repart d'une syntaxe simple un seul select sans order by et limit

puis les 2 select simple avec UNION

puis ... pour détecter ce qui n'est pas compris

Et tu peux aussi tester le sql en dehors du php dans la console mysql
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
1 -
mafoi y a un truc que je comprend pas....

avec une seule requete tout va bien et dès que UNION s en mele erreur !

pourtant j ai tout nettoyé


$bdd->query('(SELECT * from hotel) UNION (SELECT * from gite)');
jee pee
Messages postés
27008
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
21 octobre 2019
5578 -
les tables ont exactement les mêmes champs de mêmes type ??
fredodo13
Messages postés
86
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
11 février 2018
1 -
GOOOOOOOOOD !!!!!

bon apparament mysql voulait que appel les futurs champs dans le SELECT

Pour les prochains qui auraient du mal comme moi ça donne : (et ça marche!)



$reponse = $bdd->query('(SELECT nom, dateexp, tel, mail from hotel WHERE visible="y") UNION (SELECT nom, dateexp, tel, mail from gite WHERE visible="y") order by dateexp limit 15');


MERCI JEE PEE POUR TON TEMPS, PASSE UNE BONNE SOIREE !!!!!
jee pee
Messages postés
27008
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
21 octobre 2019
5578 -
Sur le principe le select * devrait fonctionner, si les 2 tables ont exactement la même définition (champs et types)

bonne soirée