pobieranie danych

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

hey

mam pytanie obliczyłem sobie jakieś wartości w jedej kolumnie i chce aby kolejna kolumna pobierała te wartości do dodatkowych obliczeń np.

select (DATEDIFF(dd, h.[Order Date], h.[Finishing Date])) as 'dni robocze', ('dni robocze' - h.[przerwania]) as 'przerwania'
from SRV_Header h

wyskakuje komunikat że nie istnieje taka kolumna "Invalid column name 'dni robocze". Jak się odnieść do takich kolumn, które stworzyłem z jakiś obliczeń a nie z bazy?
przykałd

dni robocze przerwania
8 3

Z góry dzięki za pomoc

LD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 115
0

http://www.sqlpedia.pl/logiczne-przetwarzanie-zapytan-sql/

tl;dr

Odwolujesz sie do aliasu

/e a jak sie odniesc

Np przez CTE

WL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1084
0

Albo tak:

Kopiuj
select (DATEDIFF(dd, h.[Order Date], h.[Finishing Date])) as [dni robocze], 
         (DATEDIFF(dd, h.[Order Date], h.[Finishing Date])) -  h.[przerwania] as [przerwania]
from SRV_Header h

albo tak:

Kopiuj
with cteDniRobocze as (
select id, (DATEDIFF(dd, h.[Order Date], h.[Finishing Date])) from SRV_Header
)
select a.[dni robocze],
       a.[dni robocze] - h.[przerwania] as [przerwania]
  from cteDniRobocze a
  inner join SRV_Header h on (h.id = a.id)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.