pobieranie danych

Odpowiedz Nowy wątek
2014-06-30 14:07
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

Pozostało 580 znaków

2014-06-30 14:13
Ldr
0

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

tl;dr

Odwolujesz sie do aliasu

/e a jak sie odniesc

Np przez CTE

edytowany 2x, ostatnio: Ldr, 2014-06-30 14:17

Pozostało 580 znaków

2014-06-30 14:51
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)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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