2014-11-28 5 views
0

안녕하세요. 현재 ID 열과 금액 열이 있습니다. 금액은 양수인 경우 차변으로 표시됩니다. 금액이 음수이면 크레디트. 나는 어떻게 나의 몫 열을 "나눌"수 있는지 생각해보고있다.열을 두 개로 나누는 쿼리

Select * from Test.dbo.Accounts 

는 항목이 신용이다,

ID | Amount 
1 | 500 
2 | -600 

그래서 항목 1은 직불입니다 생성합니다. 나는

ID | Debit | Credit 
1 | 500 | null 
2 | null |-600 

답변

4

당신은 양에 속해있는 열을 찾을 경우 문을 사용하여 다음과 같이 표시하도록 데이터베이스를 조회 할 : 나는 차변에 가야 0을 가정

SELECT id , 
     CASE WHEN amount >= 0 THEN amount 
      ELSE NULL 
     END AS debit , 
     CASE WHEN amount < 0 THEN amount 
      ELSE NULL 
     END AS credit 
FROM Test.dbo.Accounts 

하지만 너의 전화 야.

+0

대단히 감사합니다. – Master

1
Select ID, Amount as Debit, null as Credit 
From Account 
Where Amount >= 0 

Union All 

Select ID, null as Debit, Amount as Credit 
From Account 
Where Amount < 0 
+0

where의 컬럼 이름을 수정했습니다. 캐스트하지 않고 'null'대신 'null'을 사용하는 것이 더 좋습니다. 이 http://sqlfiddle.com/#!6/984f7/3 – slavoo

+0

솔직히 말해서 나는 현저하게 약간의 것이었고, 결과에서 null 값을 보는 것을 좋아하지 않는다! – kbbucks

관련 문제