2
내가 내 쿼리MySQL의 피벗 동적 날짜 테이블
SELECT
DATE_FORMAT(FROM_DAYS(TO_DAYS(st_day_request) -MOD(TO_DAYS(st_day_request) -2, 7)), '%d-%m-%Y') as DATE,
tx_report_id AS 'BUSINESS',
CONCAT(ROUND(AVG(DATEDIFF(dt_dossier_sent,st_day_request) > -5 AND (main.dt_dossier_sent IS NOT NULL AND main.dt_dossier_sent <> '0000-00-00')) * 100),'%') as DISPATCHED_5_AND_MORE,
CONCAT(ROUND(AVG(DATEDIFF(dt_dossier_sent,st_day_request) < -5 AND DATEDIFF(dt_dossier_sent,st_day_request) <= 1 AND (main.dt_dossier_sent IS NOT NULL AND main.dt_dossier_sent <> '0000-00-00')) * 100),'%') as DISPATCHED_4_TO_1,
CONCAT(ROUND(AVG(DATEDIFF(dt_dossier_sent,st_day_request) > 1 AND DATEDIFF(dt_dossier_sent,st_day_request) <= 10 AND (main.dt_dossier_sent IS NOT NULL AND main.dt_dossier_sent <> '0000-00-00')) * 100),'%') as DISPATCHED_2_TO_10,
CONCAT(ROUND(AVG(DATEDIFF(dt_dossier_sent,st_day_request) > 10 AND (main.dt_dossier_sent IS NOT NULL AND main.dt_dossier_sent <> '0000-00-00')) * 100),'%') as DISPATCHED_10_AND_MORE,
CONCAT(ROUND(AVG(main.dt_dossier_sent IS NULL OR main.dt_dossier_sent = '0000-00-00') * 100),'%') as OUTSTANDING FROM
(
SELECT
app_contract.id_app,
app_contract.dt_dossier_sent,
contract.tx_report_id,
contract.st_day_request
FROM
contract
INNER JOIN app_contract ON app_contract.id_contract = contract.id_contract AND contract.st_day_request > '2017-09-01' AND contract.id_client = 657
INNER JOIN app_hist ON app_hist.id_app=app_contract.id_app
GROUP BY app_contract.id_app
) as main GROUP BY DATE ORDER BY DATE_FORMAT(st_day_request, '%y') ASC, DATE_FORMAT(st_day_request, '%m') ASC
을 실행하고 아래의 이미지에 결과를 얻고있다 :
여기까지, 모든 것이 올바른 것입니다. 나는을 위해 노력하고
: 내가 가지고있는 문제는 아래의 다음 이미지에서 볼 수 있듯이, 내가 열로받을 날짜를 (피벗/크로스 탭) 내 결과를 변경하고 데려 가고 싶다는 것입니다 며칠이지만 불행히도 결과가 없습니다. 어떤 아이디어?
추신. 이미지가 제대로 표시되지 않으면 마우스 오른쪽 버튼을 클릭하고 새 탭에서 엽니 다. 그런 다음 그들을 확대 할 수 있습니다. 죄송 이미지, 나는 복사하고 내 다음 게시물에 결과를 붙여 넣습니다.
넣어하지 마십시오 원하는 사진을 복사하여 붙여 넣기 만하면됩니다. 이것은 읽을 수 없습니다. – Derlin
응용 프로그램 코드에서 데이터 표시 문제를 심각하게 고려하십시오. – Strawberry
저는 @Strawberry와 함께합니다 : 순수한 MySQL의 피벗은 목에 악명 높은 통증입니다. 특히 테이블의 데이터를 통해 열의 수와 의미를 제어하려는 경우 더욱 그렇습니다. 몇 가지보고 언어를 사용하거나 csv 파일로 내보내고 스프레드 시트 프로그램을 사용할 수도 있습니다. –