Premettendo che non posso provarli, quindi sparo molto a caso, mi sa che nelle due sottoview, dovresti dare un alias al campo "qs.id_immobile" e richiamarlo dalla view principale appunto con quel nuovo nome... traducendo:
codice:
View_Cons_Riscaldamento
as
select qs.id_immobile As Immobile, qs.importo as cons ,
datepart(mm,s.data_inizio_intervento)
as mese_data_inizio_interventoC,
datepart(yyyy,s.data_inizio_intervento) as
anno_data_inizio_interventoC,
datepart(mm,s.data_fine_intervento)
as mese_data_fine_interventoC,
datepart(yyyy,s.data_fine_intervento)
as anno_data_fine_interventoC
from Quote_Spese as qs, Spese as s
where s.tipologia_spesa = "CONSUNTIVO RISCALDAMENTO"
View_Prev_Riscaldamento
as
select qs.id_immobile As Immobile,qs.importo as prev ,
datepart(mm,s.data_inizio_intervento)
as mese_data_inizio_interventoP,
datepart(yyyy,s.data_inizio_intervento)
as anno_data_inizio_interventoP,
datepart(mm,s.data_fine_intervento)
as mese_data_fine_interventoP,
datepart(yyyy,s.data_fine_intervento)
as anno_data_fine_interventoP from Quote_Spese as qs,
Spese as s where s.tipologia_spesa = "PREVENTIVO RISCALDAMENTO"
select i.nome, i.cognome, i.ragione_sociale,
ui.id_stabile, ui.piano, ui.interno,
ui.superficie_radiante, VPR.prev, VCR.cons,
VPR.mese_data_inizio_interventoP,
VPR.anno_data_inizio_interventoP,
VCR.mese_data_inizio_interventoC,
VCR.anno_data_fine_interventoC
from Inquilini as i ,Unità_Immobiliari as ui,
View_Prev_Riscaldamento as VPR,
View_Cons_Riscaldamento as VCR
where ui.id_inquilino = i.id_inquilino
and VPR.Immobile= ui.id_immobile
and VCR.Immobile= ui.id_immobile
Nota: Ho messo anche "yyyy" al posto di "mm" per gli alias "anno_data_inizio_interventoC" e "anno_data_inizio_interventoP"... così a naso mi sembravano errati.