2013-10-04 2 views
1

단일 쿼리에서 if, SUM 및 곱셈을 사용하여 테이블의 데이터를 표시하고 쿼리를 만들려고합니다.MySQL IF, SUM 및 곱셈을 사용하여 쿼리를 선택하십시오.

Select column1, column2, column3, IF (column1='cr') THEN (column1='cr') * 8 + 
IF (column1='config') THEN (column1='config') * 6 + 
IF (column2='bs' AND column3='ft') THEN (column3='ft') * 4 + 
IF (column2='bs' AND column3='mj') THEN (column3='mj') * 2 + 
IF (column2='bs' AND column3='md') THEN (column3='md') * 5 + 
IF (column2='bs' AND column3='mi') THEN (column3='mi') * 3 + 
IF (column2='lf' AND column3='ft') THEN (column3='ft') * 2 + 
IF (column2='lf' AND column3='mj') THEN (column3='mj') * 1 FROM tbl_ut 

위 쿼리는 잘못된 것입니다. 이 쿼리를 수정하는 데 도움이 필요합니다. IF가 IF (조건 일 경우 값, 거짓 일 경우 값)

이 쿼리를 수정하는 다른 방법은 무엇입니까?

감사

+2

당신은 실제로 당신이 물론 – cameronjonesweb

+0

을 그것은 당신이 무슨 의도 표시되지 않습니다 작동하지 않습니다하는 숫자로 된 문자열을 곱하려는 것처럼 나에게 보이는, 곱 려 특히 잘한다. 조건이 참일 때'column3 = 'ft'' (조건)에 4 (숫자)를 곱하면 어떻게됩니까? 아니면 그냥'column3'을 의미 했습니까?이 경우 user1672694에서 말한 것처럼 문자열과 숫자를 곱하려고합니다. 거짓이라면? – Dukeling

+0

내가 이미 쿼리가 잘못 언급 한 것처럼, 내가 의도 한 것은 숫자로 지정된 값을 갖는 열을 곱하는 것입니다. – MOZ

답변

1
Select column1, column2, column3, 
     IF (column1='cr', column1 * 8, 0) + 
     IF (column1='config', column1 * 6, 0) + 
     IF (column2='bs' AND column3='ft', column3 * 4, 0) + 
     IF (column2='bs' AND column3='mj', column3 * 2, 0) + 
     IF (column2='bs' AND column3='md', column3 * 5, 0) + 
     IF (column2='bs' AND column3='mi', column3 * 3, 0) + 
     IF (column2='lf' AND column3='ft', column3 * 2, 0) + 
     IF (column2='lf' AND column3='mj', column3 * 1, 0) 
FROM tbl_ut 
관련 문제