2016-09-20 2 views
0

변수를 계산하고 (last_week) 내 주 데이터 세트에 다시 추가하려고합니다 (예 : new_j). 나는 그것을 new_j에 참여시킬 수 있었다. 그러나 추가 계산을 위해 해당 변수 (last_week)를 사용하려면이를 인식하지 못합니다. 여기 내 코드는 다음과 같습니다.새 계산 된 변수를 SQL의 주 데이터 세트에 다시 추가합니다.

SELECT [Weekkey] AS weekkey 
    ,[article/colour] as prod_id 
    ,[Current MP Department No/Desc] as prod_dept 
    ,[Total Stock] as total_stock 
INTO #new_j 
FROM [J_20160831] --(that’s the db in server and I created a temp db #new_j) 

SELECT prod_id, max(weekkey) as last_week 
into #lastweeksales 
FROM #new_j 
group by prod_id 

select * 
from #new_j 
left join #lastweeksales 
     on #lastweeksales.prod_id = #new_j.prod_id 

그럼이 코드를 실행하면 last_week 열이 표시됩니다. 이제 내가하고 싶은 일은 다음과 같습니다.

select * 
,case 
     when last_week = max(weekkey) then total_stock 
     else 0 
end as last_stock_position 
from #new_j 

그러나 new_j에는 last_week이 없습니다. 마지막 코드에서 last_week 대신 # lastweeksales.last_week도 시도했지만 그 중 하나도하지 않았습니다. 여기서 가장 좋은 방법은 뭔가요? 게다가, 그것을 대신하는 더 좋은 방법이 있습니까? 최종 결과는 WeekKey, Prod_dept, Prod_id, Total_stock, last_week, last_stock_position과 같은 테이블입니다.

감사합니다. 많은 것을 감사드립니다. 이

select * from #new_j left join #lastweeksales 
     on #lastweeksales.prod_id = #new_j.prod_id' 

newj 및 lastweekales의 모든 열을 선택하여

답변

0

결합이 정상 동작 ..

이 순서대로 표시 (제 new_j 열 후 열 lastweeksales)한다 낭포 ' last_week '는 lastweeksales의 마지막 열입니다. 테이블 #lastweeksales에 속하는

둘째

, 위의 쿼리에서

select *, 
     case when last_week = max(weekkey) then total_stock 
      else 0 
     end as last_stock_position 
from #new_j 

, 당신이 선택하는 'last_week'열.

열을 선택하는 동안주의하십시오. 나는 당신의 기대 추측

,

select a.WeekKey, a.prod_dept, a.prod_id, a.total_stock, b.last_week, 
case 
    when b.last_week = max(a.weekkey) then total_stock 
    else 0 
end as last_stock_position 
from #new_j as a 
left join #lastweeksales as b 
on b.prod_id = a.prod_id 
group by a.weekkey,a.prod_dept,a.prod_id,a.total_stock,b.last_week 
+0

감사 KK는 정확히 내 질문 이잖아. #lastweeksales에있는 last_week 열과 #new_j에있는 total_stock 열을 사용하여 새 변수를 계산하는 방법은 무엇입니까? 두 가지 모두 조인해도 데이터 세트를 조인 할 수 있지만 새 데이터 세트로 저장하지는 않습니다. 그러면 어떻게 결합 된 데이터 세트를 새로운 데이터 세트로 저장할 수 있습니까? – Shraddha

+0

답변을 업데이트했습니다. 도움이 될 것 같습니다. 대답으로 표시하십시오. –

+0

감사 KK! 그것은 내가 찾고 있던 줄에 있지만,이 오류가 발생했습니다 - '# new_j.weekkey'컬럼이 집계 함수 나 GROUP BY 절에 포함되어 있지 않기 때문에 선택 목록에서 올바르지 않습니다. :/ – Shraddha

관련 문제