0
제가 할 수있는 한 많은 스택 게시물을 보았습니다.MySQL을 사용하여 Case 문을 사용하여 다음 Qtr을 결정하십시오. (마지막 Qtr이 4 일 때)
필자는 펜 테스트가 예정된 날짜를 포함하는 테이블을 보유하고 있으며 이번 분기 및 다음 분기에 필자에게 펜 테스트를 표시 할 뷰를 작성하고 있습니다. 우리는 4 분기에 다음 분명히 다음 QTR 분명 내가 앞으로 방법은 현재 QTR 인 경우의 "를 사용하는 것입니다 있으리라 믿고있어
존재하지 않는 Q5 될하지 않는 한
SELECT
`pen_test_cycle`.`ptc_uid` AS `ptc_uid`,
`pen_test_cycle`.`ptc_system` AS `ptc_system`,
`pen_test_cycle`.`ptc_cycle` AS `ptc_cycle`,
`pen_test_cycle`.`ptc_start_date` AS `ptc_start_date`,
QUARTER(`pen_test_cycle`.`ptc_start_date`) AS `Qtr`,
`pen_test_cycle`.`ptc_compliance` AS `ptc_compliance`,
`inscope_systems`.`iss_uid` AS `iss_uid`,
`inscope_systems`.`system_name` AS `system_name`,
`inscope_systems`.`system_compliance` AS `system_compliance`,
QUARTER(CURDATE()) AS `current Qtr`
FROM
((`pen_test_cycle`
JOIN `inscope_systems` ON ((`pen_test_cycle`.`ptc_system` = `inscope_systems`.`iss_uid`)))
JOIN `compliance_standard` ON ((`pen_test_cycle`.`ptc_compliance` = `compliance_standard`.`cs_uid`)))
Where QUARTER(`pen_test_cycle`.`ptc_start_date`) = QUARTER(CURDATE())
or
QUARTER(`pen_test_cycle`.`ptc_start_date`) = QUARTER(CURDATE())+1
코드는 잘 작동 (4)는 다음 QTR, 그래서 나는이 (애 여러 가지 다른 시도) 내가 분명히 누군가 경우, 본질적으로 잘못하지만 난 그냥 캔트 문제를 찾을 뭔가를하고 있어요 말하는 것처럼
SELECT
`pen_test_cycle`.`ptc_uid` AS `ptc_uid`,
`pen_test_cycle`.`ptc_system` AS `ptc_system`,
`pen_test_cycle`.`ptc_cycle` AS `ptc_cycle`,
`pen_test_cycle`.`ptc_start_date` AS `ptc_start_date`,
QUARTER(`pen_test_cycle`.`ptc_start_date`) AS `Qtr`,
`pen_test_cycle`.`ptc_compliance` AS `ptc_compliance`,
`inscope_systems`.`iss_uid` AS `iss_uid`,
`inscope_systems`.`system_name` AS `system_name`,
`inscope_systems`.`system_compliance` AS `system_compliance`,
QUARTER(CURDATE()) AS `current Qtr`,
(CASE QUARTER(`pen_test_cycle`.`ptc_start_date`)
WHEN 1 Then 2
When 2 Then 3
When 3 Then 4
WHEN 4 Then 1
Else 0
End) as nqt
FROM
((`pen_test_cycle`
JOIN `inscope_systems` ON ((`pen_test_cycle`.`ptc_system` = `inscope_systems`.`iss_uid`)))
JOIN `compliance_standard` ON ((`pen_test_cycle`.`ptc_compliance` = `compliance_standard`.`cs_uid`)))
Where QUARTER(`pen_test_cycle`.`ptc_start_date`) = QUARTER(CURDATE())
or
QUARTER(`pen_test_cycle`.`ptc_start_date`) = 'nqt'
와 함께 1 "유형 문 등장한다 이 작품을 만드는 법을 제안하거나 gr이 될 더 현명한 해결책을 제안 할 수 있습니다. 먹다.
많은 감사
로 교체하지만 결과를 제공하지 않습니다 수 예상 함 '코드' QUARTER ('pen_test_cycle'.ptc_start_date') = QUARTER (CURDATE()) 또는| | 12 | 2017년 3월 1일 | 1 | 1 | 1 : 1,363,210 QUARTER ('pen_test_cycle'.'ptc_start_date') = (QUARTER (CURDATE()) + 1) '코드' 다음과 같은 제공합니다 1 | 토스트 | 1 | 1 | 2 2 | 2 | 12 | 2017-04-01 | 2 | 1 | 2 | 버터 | 1 | 1 | 3 3 | 3 | 12 | 2017-01-01 | 1 | 1 | 3 | 빵 | 1 | 1 | 2 '코드' QUARTER ('pen_test_cycle'.'ptc_start_date') = QUARTER (CURDATE()) 또는 QUARTER ('pen_test_cycle'.'ptc_start_date') = (QUARTER (CURDATE()) + 1) % 4 + 1 '코드' –
죄송합니다. 시도해보고 다시 포맷하겠습니다. –
죄송합니다. 내 수식에 오류가있었습니다. 이제는 고쳐야합니다. –