Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #5

    update

    Quote Originariamente inviata da optime Visualizza il messaggio
    spiega bene il problema, la struttura delle tabelle coinvolte e di come sono correlate da loro
    La tabella di destinazioe delle update viene creata ad hoc e popolata in questo modo:
    codice:
    INSERT INTO CDG_ESTRAZ_ORE 
    select distinct 
    risultati.azienda        CDC
    ,aziende.ragione_b        DESCRIZIONE
    ,risultati.data            DATA
    ,0                        ORE_LAVORATE,0                        ORE_ASS_IN_OUT
    ,0                        ORE_FOR_IN_OUT
    GETDATE()                DATA_MODIFICA       
    
    from risultati
    JOIN        aziende
    on        risultati.azienda = aziende.azienda      
    
    where causale in(select causale from gruppi_causali_c where gruppo ='FPHL'and azienda ='0000000001')
    and        data between'2014-05-01'and'2014-05-31'    
    order by        CDC,DATA
    
    Le ore da prelevare (ORE_LAVORATE) sono archiviate nella tabella dei risultati per azienda,data e causale, perciò prelevo tutti i record con le causali facenti parti del gruppo ore lavorate.
    codice:
    update DBFOREW..CDG_ESTRAZ_ORE
    set ORE_LAVORATE = (
    SELECT SUM(ORE/3600.) ORE_LAVORATE
    FROM        erg_pedus..risultati risultati
    JOIN    DBFOREW..CDG_ESTRAZ_ORE
    ON    risultati.data= CDG_ESTRAZ_ORE.DATA          and    risultati.azienda = CDG_ESTRAZ_ORE.CDC
    WHERE        causale in(select causale from gruppi_causali_c where gruppo ='FPHL'and azienda ='0000000001')
    and    RISULTATI.data between'2014-05-01'and'2014-05-31'
    groupby    risultati.azienda,risultati.
    data
    )
    

    La select funziona correttamente e genera esattamente il numero di record già presenti nella tabella CDG_ESTRAZ_ORE.

    Il problema nasce nel momento in cui vado a fare l'update in quanto mi viene restituito l'errore:

    Msg 512, Level 16, State 1, Line 1
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
    The statement has been terminated


























    Ultima modifica di IncorrectSintax; 19-05-2014 a 12:13
    IncorrectSyntax

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.