Comment joindre deux tables

Résolu/Fermé
dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023 - 4 avril 2015 à 12:07
dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023 - 5 avril 2015 à 11:03
Bonjour, tout le monde
je veux faire une chose avec mes deux tables SQL qui semble facile pour un expert en SQL, mais pas pour moi, enfin j'ai deux tables (facture:[ n_fact:qte:prix:n_lot.....]) et (detail_fact: [n_fact:date_fact:etat_fact.....]) , alors je veux joindre mes deux pour obtenir un résultat du genre (join_table: [n_fact:qte:prix:n_lot:date_fact:etat_fact]) donc je veux garder la colonne n_fact et ajouter les autres colonnes.
merci d'avance!


2 réponses

Utilisateur anonyme
4 avril 2015 à 12:23
Bonjour

Si j'ai bien compris ce que tu veux, c'est une simple jointure :

SELECT facture.n_fact, qte, prix, n_lot, date_fact, etat_fact FROM facture INNER JOIN detail_fact ON facture.n_fact = detail_fact.n_fact
1
dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023
4 avril 2015 à 13:14
merci le père de ta réponse aussi rapide, mais dans la jointure je veux qu'une seule colonne de n_fact parce que avec ta requête il y a deux colonne identique n_fact, une idée? merci encore.
0
Utilisateur anonyme > dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023
Modifié par le père. le 4/04/2015 à 14:07
Ma requête ne renvoie qu'une seule colonne n_fact, c'est une certitude.
Si tu en as obtenu 2, c'est que tu as fait autre chose.
Comment as-tu fait pour essayer ma requête ?
[edit] En relisant plus attentivement ta réponse, c'est dans la jointure que tu ne veux qu'une seule colonne ? Qu'est-ce que ça veut dire ? Une jointure c'est par définition entre plusieurs colonnes, non ?
0
dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023 > Utilisateur anonyme
4 avril 2015 à 16:10
toutes mes excuses le père, j'ai pas recopier ta requête, j'ai fait cela
SELECT * FROM facture INNER JOIN detail_fact ON facture.n_fact = detail_fact.n_fact. c'était pour ne pas réécrire toutes les colonnes
( facture.n_fact, qte, prix, n_lot, date_fact, etat_fact), donc je pense que t'as raison et c'était ma faute, alors je vous remercier encore.
une autre question si tu me le permis: je veux dans la même requête faire un select par rapport à la "date_facture" genre "select * from facture, detail_fact where DATE_FACT = current_date ; " s'il est possible bien sûr, et merci encore
0
Utilisateur anonyme
4 avril 2015 à 18:55
C'est tout à fait possible d'ajouter ta condition, mais attention, current_date est une fonction : il ne faut pas oublier les parenthèses :
...WHERE date_fact=CURRENT_DATE()
1
dadidiable Messages postés 26 Date d'inscription lundi 23 septembre 2013 Statut Membre Dernière intervention 31 janvier 2023
5 avril 2015 à 11:03
merci infiniment le père, c'était très gentil de ta part.
0