Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [MS SQL] Select multiple con T-Sql

    Salve, non so se scrivo nella sezione giusta

    Dunque, dovrei fare una query un pò particolare, per iniziare ne ho fatta una con T-Sql che più avanti mi farà arrivare a quella finale, quindi se notate che l'eventuale risultato si poteva ottenere con una semplice query è solo perché questa fatta così mi serve per sperimentare

    Ecco l'esempio.
    codice:
    SET NOCOUNT ON
    
    DECLARE @login varchar(50)
    
    DECLARE cursore CURSOR FOR 
    select distinct utente
    from tabella_prodotti with (nolock)
    
    OPEN cursore
    
    FETCH NEXT FROM cursore 
    INTO @login
    
    WHILE @@FETCH_STATUS = 0
    BEGIN
    
    select cognome,nome from tabella_utenti where login=@login;
    
    FETCH NEXT FROM cursore 
    INTO @login
    END 
    CLOSE cursore
    DEALLOCATE cursore
    Questa sintassi genera un serie si select separate composte da un'unica riga, quello che vorrei ottenere invece è una sola tabella che contiene tutte le righe generate da questa procedura.

    avevo tentato con questo:
    codice:
    SET NOCOUNT ON
    
    DECLARE @login varchar(50)
    
    DECLARE cursore CURSOR FOR 
    select distinct utente
    from tabella_prodotti with (nolock)
    
    OPEN cursore
    
    FETCH NEXT FROM cursore 
    INTO @login
    
    IF @@FETCH_STATUS = 0
        BEGIN
        select cognome,nome from tabella_utenti where login=@login;
        FETCH NEXT FROM cursore 
        INTO @login
        END
    WHILE @@FETCH_STATUS = 0
    BEGIN
    
    union
    select cognome,nome from tabella_utenti where login=@login;
    
    FETCH NEXT FROM cursore 
    INTO @login
    END 
    CLOSE cursore
    DEALLOCATE cursore
    Ma mi ha fatto il gesto dell'ombrello (errore su union).

    Avete qualche suggerimento?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    CIAO!
    potresti crearti una tabella temporanea,
    inserire i dati nella tabella temporanea (con la insert into select)

    e infine fare select * from #tabellaTemporanea

    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    Ci avevo anche pensato ma per questione di permessi vari non posso...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    e fare una select del tipo

    select cognome,nome from tabella_utenti where login
    in (select select distinct utente from tabella_prodotti with (nolock)

    ?
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  5. #5
    Purtroppo non funzionerebbe

    La select che ho scritto è solo un esempio minimo, ma in realtà mi serve per una select molto più grande e complessa, usare una inner select non funzionerebbe, cmq piano piano sto trovando altre strade...

    E' che devo dare in pasto al sistema di Reporting Services una select abbastanza complessa con diverse funzioni di aggregazione e non è molto semplice

    Tnx

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