2016-08-09 3 views
-1

에 따라 모든 색상을 인쇄 여기 내 쿼리 :는 테이블 이름을 교체하고 열

MySQL의>

select DATE_FORMAT(STR_TO_DATE(items.date, '%Y-%m-%d'), '%M %d, %Y') date_new, unit, Descpt, p_cost, add_by, GROUP_CONCAT(color,' = ',qty) as COLOR, SUM(qty) as Total, SUM(qty*(p_cost)) as Ptotal from items where status IN ('1','2') Group By Descpt; 
+---------------+------+------------------------+--------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-----------+ 
| date_new  | unit | Descpt     | p_cost | add_by | COLOR                                            | Total | Ptotal | 
+---------------+------+------------------------+--------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-----------+ 
| June 16, 2016 | Pcs | #1688N - Big Crate New | 125.00 | Psd | BLUE - W = 200,BLUE - W/O = 400,RED - W/O = 300,RED - W = 500,GREEN - W = 300,GREEN - W/O = 200,YELLOW  - W = 400,YELLOW  - W/O = 582,BLACK - W = 255,BLACK - W/O = 330 | 3467 | 900927.75 | 

색상 값이 컬럼으로 인쇄됩니다. select 문으로 어떻게하면 될까요? 첨부 된 이 필요한 출력입니다.

enter image description here

답변

0

이것은 완전한 답변하지 않습니다,하지만 난 당신에게 방법을 보여줍니다 생각합니다 ... ideia는 PHP 영역에 COLOR 열을 얻을 수

입니다

하고 몇 가지 정규 표현식을 당신이 원하는대로 데이터를 얻을 수 ... 그 후,

$color = "BLUE - W = 200,BLUE - W/O = 400,RED - W/O = 300,RED - W = 500,GREEN - W = 300,GREEN - W/O = 200,YELLOW  - W = 400,YELLOW  - W/O = 582,BLACK - W = 255,BLACK - W/O = 330"; 

if(preg_match_all("/(\w+)\s*\-\s*(\S+)\s*=\s*(\d+)/",$color,$m)) { 
    print_r($m); 
} 
else { 
    print "Regexp failed!\n"; 
} 

배열 $ m 당신이 라인과 컬럼으로 구분 필요한 모든 데이터를해야합니다 ... 표를 그립니다. 데이터가 다른 결과를 다른 경우 몇 가지 숫자 어딘가없는 경우 정규 표현식 예를 들어, 일부 adjustements을해야 할 수도 있습니다

주 ...

+0

선생님, 나는이 해결책이라고 생각합니다. 하지만 PHP에서 초보자입니다. 스크립트를 작성하거나 전체 스크립트를 제공하는 데 도움을 줄 수 있습니까? 필자는이 스크립트를 필자의 요구에 맞출 것입니다 ... 미리 감사드립니다. – Psd

관련 문제