ho il seguente "problema" con la query seguente:
Codice: Seleziona tutto
select
DISTINCTROW DettaglioOrdini.IdPreventivo,
Preventivi.TipoCommessa,
DettaglioOrdini.Posizione,
[DettaglioOrdini].[IdOrdine] & "-" & [Posizione] as [Concatena Ord-Pos],
DettaglioOrdini.Descrizione,
DettaglioOrdini.UM,
DettaglioOrdini.Quantità,
DettaglioOrdini.ImportoUnitario,
DettaglioOrdini.Sconto,
[Centri di Costo].CodiceCentro,
[Centri di Costo].CentroCosto,
right([Centri di Costo].[CodiceCentro], Len([Centri di Costo].[CodiceCentro])-InStr(1,[Centri di Costo].[CodiceCentro], "-")) as [ContoCoGe Descr],
left([Centri di Costo].[CodiceCentro],(InStr(1,[Centri di Costo].[CodiceCentro], "-")-1)) as CdC,
"IT" & String(8-Len([CdC])-2,
"0") & [CdC] as Profit,
DettaglioOrdini.NumFatturaFornitore,
DettaglioOrdini.DataFattura,
Ordini.DataOrdine,
Ordini.IdFornitore,
Fornitori.NomeSocietà,
DettaglioOrdini.IdOrdine,
Sum([Quantità]*([ImportoUnitario]-([ImportoUnitario]*[Sconto]/ 100))) as Importo,
DettaglioOrdini.EvasoRiga
from
(Ordini
inner join Fornitori on
Ordini.IdFornitore = Fornitori.IDFornitore)
inner join ((DettaglioOrdini
inner join [Centri di Costo] on
DettaglioOrdini.IdCentroCosto = [Centri di Costo].IdCentroCosto)
inner join Preventivi on
DettaglioOrdini.IdPreventivo = Preventivi.IdPreventivo) on
Ordini.IDOrdine = DettaglioOrdini.IdOrdine
group by
DettaglioOrdini.IdPreventivo,
Preventivi.TipoCommessa,
DettaglioOrdini.Posizione,
[DettaglioOrdini].[IdOrdine] & "-" & [Posizione],
DettaglioOrdini.Descrizione,
DettaglioOrdini.UM,
DettaglioOrdini.Quantità,
DettaglioOrdini.ImportoUnitario,
DettaglioOrdini.Sconto,
[Centri di Costo].CodiceCentro,
[Centri di Costo].CentroCosto,
DettaglioOrdini.NumFatturaFornitore,
DettaglioOrdini.DataFattura,
Ordini.DataOrdine,
Ordini.IdFornitore,
Fornitori.NomeSocietà,
DettaglioOrdini.IdOrdine,
DettaglioOrdini.EvasoRiga,
year([Ordini].[DataOrdine])
having
(((year([Ordini].[DataOrdine])) between [Anno Iniziale] and [Anno Finale]))
order by
DettaglioOrdini.IdOrdine;
C'è un modo di implementare questo Join tra la query di selezione del codice e la tabella di anagrafica in questa stessa query senza doverne creare un'altra finale con il solo join all'anagrafica?