Requête avec deux tables

Résolu/Fermé
hakim_fth Messages postés 138 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 5 octobre 2023 - 10 janv. 2019 à 14:19
jee pee Messages postés 40412 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 novembre 2024 - 10 janv. 2019 à 16:31
Bonjour mes amis,

Pourriez-vous SVP m'aider à trouver le résultat sur la photo ci-dessous ?


Merci d'avance!

Configuration: Windows / Chrome 65.0.3325.181

1 réponse

jee pee Messages postés 40412 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 novembre 2024 9 409
Modifié le 10 janv. 2019 à 14:33
Bonjour,

Il y a un piège ;-)

Et tu nous proposes quoi toi comme solution ? Tu peux commencer par déjà plus simple, la requête qui donne juste la première ligne du résultat. Ça c'est une requête de base en sql, la jointure de 2 tables.

0
hakim_fth Messages postés 138 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 5 octobre 2023
Modifié le 10 janv. 2019 à 14:45
Bonjour jee pee,

Merci pour ton retour. voilà ce que j'ai pu faire :)

SELECT articles.code_article,articles.designation, 
entrees.code_article, SUM(entrees.quantite) as quantite 
FROM articles,entrees 
where articles.code_article=entrees.code_article 
group by articles.designation
0
jee pee Messages postés 40412 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 novembre 2024 9 409
Modifié le 10 janv. 2019 à 15:04
Elle fonctionne cette requête ? (je ne suis pas spécialiste mysql)

Pour réaliser ce que tu souhaites, il va falloir que tu changes ta façon de faire des jointures dans mysql. Il faut utiliser JOIN et pas un FROM TAB1, TAB2. Le JOIN est une syntaxe permettant plus de choses (notamment ramener les lignes de la table1 n'ayant pas de correspondance dans la table 2).

Peux tu bosser sur ce sujet, dans un premier temps juste la requête qui ramène une ligne ?

J'ai des questions sur ton modèle de données :
- il est donné avec l'exercice ou c'est toi qui l'a établi ?
- car pourquoi dans la table entrées avoir la désignation de l'article, cette zone devrait être uniquement présente dans la table article
- et dans ta requête alors le group by s'effectuerait sur le code_article
- enfin on peut douter dans la table article de l'utilité d'avoir un id et un code_article, généralement on aura le code_article seulement, en clé primaire
0
hakim_fth Messages postés 138 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 5 octobre 2023
10 janv. 2019 à 15:09
Merci infiniment jee pee, pour ces remarques. En fait je suis débutant et j'essaye de développer une application de gestion de stock pour moi même, je prends en considération ces remarques. Merci encore
0
jee pee Messages postés 40412 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 novembre 2024 9 409 > hakim_fth Messages postés 138 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 5 octobre 2023
10 janv. 2019 à 16:31
Je te conseille de lire : https://www.commentcamarche.net/faq/34631-mysql-quelle-jointure-choisir qui est une très bonne explication.

J'ai toujours utilisé Oracle pas mysql et pour les jointures externes (union) il y a une syntaxe propriétaire.

Je me suis créé une base mysql, la première, création des tables, création des enregistrements. Ta requête fonctionne, mais bien sur ne ramène qu'une ligne. Et donc avec la doc du lien ci-dessus, j'ai modifié la requête avec un JOIN pour obtenir les 3 lignes de résultat.

Avances-tu de ton coté ?
0