-3
votes

Requête MySQL pour rejoindre trois table et obtenir des données de la 2e et 3ème table

J'ai 3 tables:

Table1: Nom de la table: FULL_DATA P>

DATE        CUSTOMER_NAME   ORDER_NO               AMOUNT   MODE
01-04-2019  CUSTOMER-121    ADVANVCE.:ORD1971718    5000    DEBIT-CARD
01-04-2019  CUSTOMER-158    ADVANVCE.:ORD1961718    6000    CASH
01-04-2019  CUSTOMER-1      ADVANVCE.:ORD2001819    8000    CASH
02-04-2019  CUSTOMER-24     ADVANVCE.:ORD2011819    10000   CASH
02-04-2019  CUSTOMER-147    ADVANVCE.:ORD0891819    3000    CASH
02-04-2019  CUSTOMER-39     ADVANVCE.:ORD2021819    8000    DEBIT-CARD
02-04-2019  CUSTOMER-40     ADVANVCE.:ORD2031819    12000   CASH
03-04-2019  CUSTOMER-15     ADVANVCE.:ORD2041819    14000   CASH
03-04-2019  CUSTOMER-66     ADVANVCE.:ORD2051819    17000   CASH
03-04-2019  CUSTOMER-7      ADVANVCE.:ORD2061819    14000   CASH
03-04-2019  CUSTOMER-7      ADVANVCE.:ORD2061819    15000   DEBIT-CARD
03-04-2019  CUSTOMER-89     ADVANVCE.:ORD2071819    4000    DEBIT-CARD
03-04-2019  CUSTOMER-89     ADVANVCE.:ORD2071819    1000    CASH
04-04-2019  CUSTOMER-9      ADVANVCE.:ORD2101819    500     CASH
04-04-2019  CUSTOMER-10     ADVANVCE.:ORD2091819    1000    CASH
04-04-2019  CUSTOMER-11     ADVANVCE.:ORD2081819    2000    CASH
04-04-2019  CUSTOMER-134    ADVANVCE.:ORD0471819    8000    CASH


9 commentaires

N'écrivez pas avec toutes les casquettes, il est très difficile de lire. Et clarifier votre question, quatre points d'interrogation ne rendent pas la question plus évidente.


Désolé je viens de rester coincé dans cette question pendant 4 jours ..


Pour moi, cela ressemble à une simple jointure afin que vous ayez vraiment besoin de clarifier la question et de ce que vous avez été coincé avec pendant 4 jours.


Je me souviendrai de ça la prochaine fois ..


Si je suis simplement parti que je suis parti rejoindre ma table FULL_DATA et commande_Détails, il affiche le même record de plusieurs fois plus de fois plus de fois que TABLE ORDR2021819 Si je suis simplement parti, je me trompe, il me montrera cette commande 4 fois


Salut Sujoy, partagez le code que vous avez essayé


@Sujoydebnath pouvez-vous expliquer pourquoi la 1ère ligne de votre "résultat final de la requête" a une quantité = 5000?


Sélectionnez Full_Data.Date, Customer_Détails.Customer_Name, Full_Data.Ordon_no, FULL_DATA.MOUNTER, FULL_DATA.MOUNT, FULL_DATA.MODE à partir de mydb.full_Data à partir de mydb.ful_data a rejoint MyDB.Order_Détails sur Substring_index (Full_Data.Order_no, ':', - 1) = order_détails. Rejoignez Customer_Détails sur ordre_details.customer_id = Customer_Détails.Customer_id où Full_Data.Date entre '2019-04-01' et '2019-04-04' commander par FULL_DATA.Date ASC


Désolé forpas c'est mon erreur j'ai édité mon code


3 Réponses :


1
votes

Si ces numéros de commande dans les données sont toujours la dernière partie après le : ? xxx

Il y a plusieurs éléments par commande.
En théorie, il pourrait y avoir plus de 1 client par commande.
Donc un groupe_concat est utilisé ici au lieu d'un max.


6 commentaires

À mon avis, il devrait s'agir de quelque chose comme substr (Full_Data.order_no, localiser (':', FULL_DATA.OrdER_NO) + 1) Mais vraiment plus lent que @LUKSTorms Suggestion.


J'ai déjà trouvé la voie à la commande n ° de commande du texte mon problème est que je ne peux pas rejoindre ces tables de manière appropriée


Avez-vous besoin de résumer les valeurs de champ montant? Vous avez 5000 dans votre première rangée pour commander Ordre1971718. Il semble être étrange résultat


Non, j'ai juste besoin de nom de client dans la table Full_Data


Sélectionnez Full_Data.Date, Customer_Détails.Customer_Name, Full_Data.Ordon_no, FULL_DATA.MOUNTER, FULL_DATA.MOUNT, FULL_DATA.MODE à partir de mydb.full_Data à partir de mydb.ful_data a rejoint MyDB.Order_Détails sur Substring_index (Full_Data.Order_no, ':', - 1) = order_détails. Rejoignez Customer_Détails sur ordre_details.customer_id = Customer_Détails.Customer_id où Full_Data.Date entre '2019-04-01' et '2019-04-04' commander par FULL_DATA.Date ASC


J'ai essayé ce code ce code SHWing Noms des clients, mais affiche les données de plusieurs fois



0
votes

Il faudra tout numéro de commande de la table Full_Data et trouvera la commande Aucun détail de client à l'aide de la 2e et 3ème table et de me montrer le nom du client après la colonne de date


0 commentaires

0
votes

J'ai fait une jointure en sélectionnant des valeurs distinctes pour Customer_id et Command_no à partir de commande_deteisl xxx


1 commentaires

Je pense que ce code est parfait pour mon logiciel ... merci beaucoup ....