Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Comparare 2 tabelle

  1. #1

    Comparare 2 tabelle

    Ordunque.... Seguitemi....
    Ho due tabelle di DB
    - una strutturata così
    codice:
    Tabella 1: UTENTI
    -----------------
    IDut___| Utente___| User___| Pwd___|
    - L'altra (relazionata alla precedente attraverso il campo IDut) strutturata così
    codice:
    Tabella 2: SERVIZI_ATTIVI
    -------------------------
    IDserv___| IDut_____| Servizio______| Caratteristiche |
    Nella mia pagina ASP mostro in una tabella tutti i record presenti nella tabella 2 e ottengo questo risultato:
    codice:
    IDserv___| IDut_____| Servizio______| Caratteristiche |
    1________| 2________| Servizio1_____| Caratt1,2,3,4__ |
    2________| 2________| Servizio2_____| Caratt1,2,3____ |
    3________| 3________| Servizio1_____| Caratt2,3,4____ |
    4 _______| 2________| Servizio3_____| Caratt3,4______ |
    Ora mi chiedo...
    C'è un modo per sostituire l'IDut con il nome dell'utente corrispondente nella tabella 1.UTENTI in modo da ottenere questo risultato nella pagina ASP?
    codice:
    IDserv___| Utente___| Servizio______| Caratteristiche |
    1________| Utente2__| Servizio1_____| Caratt1,2,3,4__ |
    2________| Utente2__| Servizio2_____| Caratt1,2,3____ |
    3________| Utente3__| Servizio1_____| Caratt2,3,4____ |
    4 _______| Utente2__| Servizio3_____| Caratt3,4______ |
    In pratica, all'interno della routine della ripetizione delle righe della tabella HTML, la pagina ASP dovrebbe leggere il campo IDut della tabella 2 e "pescare" dalla tabella 1 il nome dell'utente.
    So che potrei strutturare diversamente la tabella 2 sostituendo lì l'IDut con il nome dell'utente e relazionando le due tabelle tramite il campo "utente" invece che "IDut", ma mi complicherebbe un po' le cose per altri versi.
    Non riesco a trovare una soluzione, mi sembra una stupidaggine ma sto fondendo!!!!


    NB: Rispondetemi se non altro per tutta la fatica che ho fatto a scrivere questo messaggio così BELLO e ACCURATO!!!!!!!
    :gren:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Si può fare senza grandi difficoltà: per ottenere l'output che presenti avrei fatto (prima) una query tipo:

    sql="select * from SERVIZI_ATTIVI"

    che poi hai presentato intabellando i dati presenti nel recordset.

    Invece farai:

    codice:
    sql="select distinct IDserv, utente, servizio, caratteristiche from UTENTI, SERVIZI_ATTIVI where SERVIZI_ATTIVI.IDut=UTENTI.IDut"
    C'è anche una sintassi più figa usando l'istruzione INNER JOIN, ma non me la ricordo e comunque dovrebbe funzionare anche così. Il "distinct" è di sicurezza.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    Leggasi: "avrAi fatto (prima)........."

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti rispndo se non altro per l'accuratezza del tuo bel messaggio... Fossero tutti così chiari

    Ti basta una query con INNER JOIN.

    codice:
    strSQL="SELECT UTENTI.IDut, UTENTI.Utente, SERVIZI_ATTIVI.* FROM UTENTI INNER JOIN SERVIZI_ATTIVI ON UTENTI.IDut = SERVIZI_ATTIVI.IDut"
    Apri il recordset e in:

    rs("utente")

    hai il nome utente che cerchi.

    Roby

  5. #5
    ..... lo sapevo che saresti arrivato.....



    Ok, mi associo!

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    :gren:

    onnipresente.... :tongue:

    Roby

  7. #7
    Grazieeeeeeeeeeee!
    Seguendo le vostre indicazioni sono riuscita a fare quello che mi serviva e ANCHE DI PIU' (alla fine mi sono accorta che le tabelleche mi servivano erano 3 e non 2....).

    Più che una query ho creato un MOSTRO, però funziona benissimo...
    Eccola qua:
    codice:
    SELECT servizi_att.numeroservizio, utenti.utente, Sum(DateDiff('n',azioni!inizio,azioni!fine)) AS durata, servizi_att.periodo, servizi_att.durata, utenti.IDut
    FROM utenti INNER JOIN (servizi_att INNER JOIN azioni ON servizi_att.numeroservizio = azioni.servizio) ON utenti.IDut = azioni.IDut
    GROUP BY servizi_att.numeroservizio, utenti.utente, servizi_att.periodo, servizi_att.durata, utenti.IDut
    ORDER BY servizi_att.numeroservizio DESC
    Quant'è carinaaaaa! :adhone:
    BaciBaci, alla prox!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Era più bello il primo messaggio...


    Roby

  9. #9
    Lo so Roby....
    Purtroppo non posso essere sempre così creativa!!!!


    Carine le nuove faccine!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.