Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297

    Problema query; risultati univoci

    Ciao a tutti!
    Ho un problema con una query sql ... mi date una mano?
    Dunque, ho queste tre tabelle:

    --------------------------------------
    UTENTI [id, nome_utente, id_categoria]
    --------------------------------------
    1 | Pippo | 2
    2 | Pluto | 3
    3 | Paperino

    ---------------------------------
    TELEFONI [id, telefono, id_utente]
    ---------------------------------
    1 | 325/258258 | 1
    2 | 0525/11111 | 1
    3 | 199/222222 | 3

    -------------------------
    CATEGORIE [id, categoria]
    -------------------------
    1 | pittore
    2 | ballerino
    3 | cantante

    Io vorrei fare una query che mi facesse vedere in un colpo solo per tutti gli UTENTI il nome della relativa CATEGORIA e il primo TELEFONO impostato.
    Tenete presente che potrebbero esserci utenti per cui non è stata impostata nè una categoria nè un numero telefonico.
    In poche parole vorrei avere questo risultato

    ---------------------------------------------------------------
    RISULTATO FINALE [id_utente, nome_utente, categoria, telefono]
    ---------------------------------------------------------------
    1 | Pippo | ballerino | 325/258258
    2 | Pluto | cantante
    3 | Paperino | 199/222222

    Io ho provato legando in LEFT JOIN le tre tabelle ma mi vengono visualizzati utenti multipli nel caso in cui l'utente abbia impostato più di un numero telefonico [nell'esempio Pippo sarebbe venuto fuori 2 volte avendo impostato 2 numeri]

    Mi date una mano?
    Grazie

  2. #2
    Prova con:
    SELECT UTENTI.id, UTENTI.nome_utente, UTENTI.id_categoria, TELEFONI.telefono FROM UTENTI INNER JOIN TELEFONI ON UTENTI.id = TELEFONI.id_utente

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297
    Ho provato, ed in questo modo visualizzo SOLO gli utenti che hanno impostato un numero di telefono e per quelli che ne hanno impostato più di uno li vedo doppi.

    Io vorrei vederli TUTTI indistintamente se hanno o meno impostato un numero telefonico e per quelli che ne hanno impostato più di uno vederli una sola volta ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297
    Ma proprio nessuno che mi riesce a dare una mano?

  5. #5
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    cha database usi ?
    se è sql server
    dovresti poter fare una cosa del gnere

    select id_utente, nome_utente, categoria, telefono
    from Utenti left join categorie on (Utenti.id_categoria = categorie.id)
    left join TELEFONI as TelefoniOrig on (Utenti.id = TelefoniOrig.id_utente and TelefoniOrig.id in (select top 1 telefoni.id from telefoni where telefoni.id_utente= TelefoniOrig.id_utente ))
    Forza la magica ROMA

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297
    In questo progetto uso ACCESS ...
    Ho provato a sistemare la tua query con i nomi8 delle tabelle e i campi del mio db ma mi dice che c'è un errore di sintassi (operatore mancante).

    Ti allego la queri che ho fatto

    select AR_Generali.id, AR_Generali.nome, OP_Artisti.categoria, AR_Telefoni.telefono from AR_Generali left join OP_Artisti on (AR_Generali.id_categoria = OP_Artisti.id)
    left join AR_Telefoni as Telefoni on (AR_Generali.id = Telefoni.id_artista and Telefoni.id in (select top 1 AR_Telefoni.id from AR_Telefoni where AR_Telefoni.id_artista = Telefoni.id_artista ))

  7. #7
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    cosi senza avere i db non ti so dire
    se mi mandi il db access posso provare

    magari cancella proma un po di dati sensibili , ad esempio cambia i numeri telefonici
    Forza la magica ROMA

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.