Requête sql afficher des données

Résolu/Fermé
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 - 23 avril 2022 à 16:40
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 - 26 avril 2022 à 10:00
Bonjour,

7 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
23 avril 2022 à 19:35
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 00:23
Ce n'est pas un exercice, c'est un problème que je veux le résolu
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 avril 2022 à 21:49
Bonjour

Intéresse-toi aux jointures.
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
Modifié le 25 avril 2022 à 00:36
Cette requête ne marche pas:

SELECT * FROM personnes, structures WHERE lieu_travail = id_structure AND affectation = id_structure

Comment je résoudre le problème s.v.p ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
Modifié le 25 avril 2022 à 00:48
Regarde par exemple, comment fonctionne la jointure left join
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 00:49
Il te faudra aussi t'intéresser aux alias .. car tu dois faire deux fois la jointure sur ta table structures ( une pour chaque liaison avec ta table personnes )
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 00:52
Merci, mais dsl je viens pas à comprendre le problème, vous pouvez me corriger la requête s.v.p ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 avril 2022 à 00:58
Déjà.. il faudrait nous indiquer quel SGBD tu utilises ...
Mysql ? Access ? Oracle ? SqlServer ? PostgreSql ? Autre ??

Ensuite, je t'ai dit de te renseigner sur les jointures de type LEFT JOIN et sur les ALIAS ... l'as tu fais ??
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 01:01
SGBD Mysql et projet sur PHP,
J'ai fais une recherche sur les jointures mais elle est compliqué que mon simple travail
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 01:08
Compliqué ??
Pourtant, ça me semble assez simple à comprendre.. https://sql.sh/cours/jointures/left-join
Et un cours sur les jointues..et les alias : https://joaomarcuraa.medium.com/sql-joins-and-aliases-1965fd2423ca
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 01:14
Merci, j'ai lu tout ça, mais je ne trouve pas mon exemple
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 01:17
Tu ne trouveras pas un exemple qui reprenne exactement ton besoin.. à toi de comprendre comment ça marche et l'appliquer...

Commence par une première jointure entre tes deux tables , regarde ce que ça donne...
puis ensuite, ajoutes une seconde jointure entre tes deux tables .. et voila .. le tour est joué..
En gros
SELECT * 
FROM table1 T1
LEFT JOIN table2 T2 ON T2.xx = T1.zz
LEFT JOIN table2 T3 on T3.ww = T1.yy
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 11:06
J'ai fais ça comme tu m'a dit et ne marche pas
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 avril 2022 à 11:49
1 - On ne poste pas des images... mais le code directement sur le forum en utilisant les balises de code !
2 - Une requête SQL ça se teste AVANT directement dans la bdd ( en utilisant phpmyadmin par exemple )
3 - Il va falloir mettre des ALIAS également dans la partie "SELECT" de ta requête pour pouvoir identifier les champs ( vu que tu as plusieurs fois les mêmes.. )

NB: Explications concernant l'utilisation des balises de code à lire entièrement avant de revenir :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 11:54
Avant que je met les alias, j'ai testé ce code et il m'affiche une erreur de requête
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 avril 2022 à 12:07
Et c'est quoi l'erreur au juste ? ( par ce que .. nous donner cette information aiderait fortement à sa résolution.. )
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 12:09
ça ne serait pas une question d' ID ambiguë dans le order by ??
Il faudrait le préfixer par l'alias de la table qui concerne ce champ .. T1.id par exemple.
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 12:13
non, j'ai enlevé l'ordre by et le problème existe encore
l'erreur est:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\Serveur\xampp\htdocs\projet\tableau.php on line 103

et je ne sais pas comment je mettre les alias pour que les output affiche les nom des structures (lieu_travail et affectation) des colonnes ciblé
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
25 avril 2022 à 12:30
Ah mais tu parles d'un message d'erreur PHP .... ça on s'en fou !
Déjà.. par ce que ta question concerne la construction d'une requête SQL, qu'elle est postée dans le forum Base de données .. et qu'en plus.. je t'ai dit de tester tes requêtes DIRECTEMENT dans ta bdd avant de vouloir les utiliser dans du code.

Sans oublier que ton code php est obsolète... mais ça je t'en parlerai plus tard quand tu auras enfin fait la requête pour laquelle tu nous demandé de l'aide...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 12:50
Pour les alias .. tu n'as visiblement toujours pas pris le temps d'aller lire les liens que je t'ai donné.
Tout y est expliqué ...
Par exemple
SELECT  T1.id as ID1,  T2.id as ID2 ...
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 13:17
erreur aussi
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
25 avril 2022 à 13:33
la chose est très simple, mais je connais pas comment le faire, voila un autre exemple,

une table "utilisateurs" qui contient 4 colonnes: id, nom, pays_origine, pays_residence

id nom pay_origine pays_residence
1 michel 1 2
2 celine 3 4


et une autre table "pays" qui contient 2 colonnes: id_pays, nom_pays

id_pays nom_pays
1 france
2 belgique
3 espagne
4 suisse

je veux un tableau final comme ca: (output)

nom pays_origine pays_residence
michel france belgique
celine espagne suisse


quelle est la requete sql ? et merci d'avance
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
25 avril 2022 à 17:19
Tu as une erreur car tu n'as pas utiliser l' alias de la table dans la partie SELECT ...
T1.lieu....

Et non pas
personnes.lieu....


A moins que tu n'aies pas bien écrit le nom de la colonne ? ( mais ne connaissant pas la structure exacte de ta bdd, difficile pour moi de le deviner à distance )
0
okbabb Messages postés 57 Date d'inscription samedi 23 avril 2022 Statut Membre Dernière intervention 15 mai 2023
26 avril 2022 à 10:00
Merci bien mon ami, ça marche très bien :D
0