2017-02-08 6 views
0

에 해당하는 경우 값을 추가 난 MySQL의에 다음과 같습니다 쿼리 가지고, 내가 날짜를 저장 priorytet_1_valid, priorytet_2_valid, priorytet_3_valid조건 열이

SELECT o.id, 
     o.priorytet_1 + 
     o.priorytet_2 + 
     o.priorytet_3 AS bonus 
FROM obiekty o 
WHERE o.ac=1 
GROUP BY o.id 
ORDER BY `o`.`id` ASC 

다음 priorytet_1, priorytet_2 and priorytet_3에 열을 예를 들어 priorytet_1 유효 할.

날짜가 < now() 인 열만 추가하고 싶습니다. 같은

뭔가 : 도움을

SELECT o.id, 
     if (o.priorytet_1_valid < now()) o.priorytet_1 + 
     if (o.priorytet_2_valid < now()) o.priorytet_2 + 
     if (o.priorytet_3_valid < now()) o.priorytet_3 AS bonus 
FROM obiekty o 
WHERE o.ac=1 
GROUP BY o.id 
ORDER BY `o`.`id` ASC 

감사합니다!

답변

0

시도 :

당신은 아마 당신이 GROUP BY 조항이 있기 때문에 SUM를 사용하려면
SELECT o.id, 
     SUM(IF (o.priorytet_1_valid < NOW(), o.priorytet_1, 0) + 
      IF (o.priorytet_2_valid < NOW(), o.priorytet_2, 0) + 
      IF (o.priorytet_3_valid < NOW(), o.priorytet_3, 0)) AS bonus 
FROM obiekty o 
WHERE o.ac=1 
GROUP BY o.id 
ORDER BY `o`.`id` ASC 

. 위의 쿼리에 사용 된 SUM 함수는 조건부로 필드에 해당 '유효'필드가 현재 날짜/시간보다 오래된 경우에 필드 o.priorytet_1, o.priorytet_2, o.priorytet_3을 추가합니다.