Ciao a tutti,
ho un problemino con una STORED PROCEDURE vi allego una piccola parte della stessa che va in errore. Eseguendo l'update il sistema restituisce il seguente 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.
codice:
truncate table DBFOREW..CDG_ESTRAZ_ORE
insert into DBFOREW..CDG_ESTRAZ_ORE
select distinct risultati.azienda AS CDC
, aziende.ragione_b AS DESCRIZIONE
, risultati.data AS DATA
,0 AS ORE_LAVORATE
,0 AS ORE_ASS_IN_OUT
,0 AS ORE_FOR_IN_OUT
, GETDATE() AS 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
----------------------------------------------
--SELECT * FROM DBFOREW..CDG_ESTRAZ_ORE
-----------------------------------------------
--UPDATE ORE_LAVORATE
-----------------------------------------------
update DBFOREW..CDG_ESTRAZ_ORE
set ORE_LAVORATE = (
SELECT SUM (ORE/
3600.)
FROM erg_pedus..risultati AS risultati
JOIN DBFOREW..CDG_ESTRAZ_ORE
ON CDG_ESTRAZ_ORE.DATA = risultati.data
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'
group by risultati.azienda,risultati.data
)
, DATA_MOODIFICA = GETDATE()
Eseguendo la select all'interno dell'update i risultato viene visualizzato correttamente.
Grazie