pobieranie danych

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

0

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

tl;dr

Odwolujesz sie do aliasu

/e a jak sie odniesc

Np przez CTE

0

Albo tak:

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:

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)

1 użytkowników online, w tym zalogowanych: 0, gości: 1