2013-04-12 2 views
0

enter image description here 첨부 파일을 확인하십시오 :SQL 쿼리에서 condtional 연산을 사용하는 방법은 무엇입니까?

여기에서 targets_value 필드의 합계를 찾으려고합니다. 하지만 거기에 record (target_value)는 2000/3000과 같은 문자열 형식입니다. 나는 그것들을 값으로 나누고 그 자체를 추가하고 싶다.

SQL 쿼리 (내 예제에서)를 사용하여 다음과 같이 추가하고 싶습니다. 500 + 200 + 2000 + 3000 + 2000 + 3000 ..... 등. 이 시도

SELECT sum(target_value) FROM target 
+0

의 합을 제공

나는 그것을 간단한 쿼리를 시도하지만, 아래의 쿼리를 통해 수 없습니다 귀하의 코드를 게시하십시오 ... – cammil

+0

죄송합니다 attachemnt을 잊어 버렸습니다 – vin

+0

@vin, 이전 첨부 파일이 더 좋았어요! 쿼리는 중요한 비트입니다. –

답변

2

: 귀하의 예제를 바탕으로

SELECT 
SUM(
    CASE WHEN LOCATE('/', target_value) > 0 
    THEN 
    (SUBSTRING_INDEX(target_value, '/', 1) + SUBSTRING_INDEX(target_value, '/', -1)) 
    ELSE 
    target_value 
    END 
) AS `total` 
FROM target; 

이 나에게 23,670

+0

당신은 대단한 분이군요 ... 고맙습니다. – vin

관련 문제