Visualizzazione dei risultati da 1 a 3 su 3

Discussione: query strana

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    21

    query strana

    dovrei fare una query di select da 2 tabelle Importo e Persone.

    select
    i. importo, p.userid, p.nome, p.cognome
    from Importo i, Persone p
    where
    .......
    and i.userid=p.userid

    Persone ha una chiave esterna Userid che la lega a Importo
    Vorrei estrarre oltre al resto Nome e Cognome da Persone
    Ci possono essere record Persone per stessa chiave Userid con NomeCognome diversi.

    --------- persone -----------
    YYI1234, Paolo, Rossi
    YYI1234, Andrea,Verdi

    Vorrei estrarre e legare a Importo solo il primo record (rownum=1) di Persone. Mi prendo solo il primo nome per importo.
    Altrimenti verrebbere righe doppie tipo
    100 , yyi1234, Paolo, Rossi
    100 , yyi1234, Andrea,Verdi
    123 , yyi9999, Aldo,Bianchi

    Io vorrei invece
    100 , yyi1234, Paolo, Rossi
    123 , yyi9999, Aldo,Bianchi

    La difficolta', almeno per me, sta nel fatto che la fk della join non mi permette di eliminare i doppioni nome, cognome di Persone.
    Non posso nemmeno fare una select dentro alla select perche' la condizione di ricerca della subquery e' parte della join e non e'
    un semplice parametro esterno.

    in sostanza vorrei mantenere la join tra le tabelle ma poi tenere dalla tab Persone un solo record per ogni match.

    avreste qalche suggerimento ?? grazie 1000

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    francamente ci ho capito piuttosto poco.

    da quanto intuisco ti turba il fatto che una persona può aver associati più importi?

    posta il dump del db

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    anche io ci ho capito poco.

    però prova ad approfondire il problema della join, c'e' la possibilita che il tuo errore sia li.

    credo che tu debba fare qualcosa del genere:

    codice:
    select
    i. importo, 
    p.userid, 
    p.nome, 
    p.cognome
    from Importo i
    left join persone p on persone.id........

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.