Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Esecuzione query su 3 tabelle con campi coincidenti

    Ciao a tutti.

    Una cortesia se possibile: devo incrociare i dati di tre tabelle di mysql per estrarre i dati che esistono all'interno delle tre diverse tabelle che in comune hanno i seguenti campi.

    1) tabella_mysql_1: descrizione, matricola
    2) tabella_mysql_2: descrizione, matricola
    3) tabella_mysql_3: descrizione, matricola

    La tabella_mysql_1 costituisce la anagrafica del prodotto e ne contiene circa 12.000;
    La tabella_mysql_2 contiene i prodotti venduti e ne contiene 4.100;
    La tabella_mysql_3 contiene i prodotti in arrivo e ne contiene 4.120;

    In pratica funziona così:

    - Quando si vende un prodotto dalla tabella anagrafica ( tabella_mysql_1 ) questo viene copiato nella tabella prodotti venduti ( tabella_mysql_2 );

    - Quando arrivano i prodotti dalla tabella anagrafica ( tabella_mysql_1 ) vengono copiati nella tabella prodotti in arrivo ( tabella_mysql_3 ).

    Adesso vorrei sapere quali prodotti nelle tabella_mysql_2 e tabella_mysql_3 coincidono con i prodotti della tabella_mysql_1, perchè la tabella anagrafica tabella_mysql_1 viene periodicamente aggiornata dal fornitore che potrebbe cambiare descrizione e matricola.

    Mi spiego?
    Grazie

  2. #2
    1. fai il lavoro con una semplice JOIN
    2. qual'è il campo che lega le tre tabelle? un ID?

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    I campi comuni tra le tabelle sono questi: descrizione, matricola.

  4. #4
    fantastico! la prima tabella non ha un ID?

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    fantastico! la prima tabella non ha un ID?
    Si certo, ma come ho specificato prima non posso farci affidamento perchè è una tabella che il fornitore aggiorna continuamente con nuovi prodotti e ne cambia l'ordine in tabella... l'unica cosa che non cambia per ogni prodotto sono appunto la matricola e la descrizione...

  6. #6
    ubbiubbi, deciditi!

    primo post
    Adesso vorrei sapere quali prodotti nelle tabella_mysql_2 e tabella_mysql_3 coincidono con i prodotti della tabella_mysql_1, perchè la tabella anagrafica tabella_mysql_1 viene periodicamente aggiornata dal fornitore che potrebbe cambiare descrizione e matricola

    ultimo post
    Si certo, ma come ho specificato prima non posso farci affidamento perchè è una tabella che il fornitore aggiorna continuamente con nuovi prodotti e ne cambia l'ordine in tabella... l'unica cosa che non cambia per ogni prodotto sono appunto la matricola e la descrizione...

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    ubbiubbi, deciditi!

    primo post
    Adesso vorrei sapere quali prodotti nelle tabella_mysql_2 e tabella_mysql_3 coincidono con i prodotti della tabella_mysql_1, perchè la tabella anagrafica tabella_mysql_1 viene periodicamente aggiornata dal fornitore che potrebbe cambiare descrizione e matricola

    ultimo post
    Si certo, ma come ho specificato prima non posso farci affidamento perchè è una tabella che il fornitore aggiorna continuamente con nuovi prodotti e ne cambia l'ordine in tabella... l'unica cosa che non cambia per ogni prodotto sono appunto la matricola e la descrizione...
    Scusa ho fatto confusione all'inizio: ciò che non cambia mai sono appunto la matricola e la descrizione, tutto il resto è soggetto a variazione compreso l'ordine in tabella quindi l'ID.

  8. #8
    la JOIN allora va su quei due campi

  9. #9
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    la JOIN allora va su quei due campi
    Però su tre tabelle ??? o come?

  10. #10
    ....

    FROM TABLE1 T1 JOIN TABLE2 T2 ON (T1.MATRICOLA=T2.MATRICOLA AND T1.DESCRIZIONE=T2.DESCRIZIONE)
    JOIN TABLE3 T3 ON (T1.MATRICOLA=T3.MATRICOLA AND T1.DESCRIZIONE=T3.DESCRIZIONE)
    ...

    that easy!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.