mysql日期行到列然后在几周内显示

时间:2017-09-07 13:51:05

标签: php mysql

非常感谢任何帮助。 我有一个如下所示的表,我需要承包商名称保持原样,但我需要开始日期为列名,然后在该开始日期下的行中显示该区域。

然后我需要能够在星期一到星期五的周视图中显示这些数据。如果承包商没有区域工作,那么我仍然需要显示他的名字,但只是一个黑色的行....请帮助 谢谢 李 - 安娜

Contractor  2016-11-02  2016-11-07  2016-11-01  2017-01-09  2016-11-07
BARNES Bill   Area a                
BARNES Bill   Area a            
BARNES Bill   Area b            
BARNES Bill   Area a            
BARNES Bill   Area a                
BARNES Bill   Area b                
BAUME Peter                 
BAUME Peter                 
BILLINGS Roger                  
CAMPBELL Lee                Area b  
CAMPBELL Lee                Area b  
CAMPBELL Lee                Area b  
CAMPBELL Lee                Area b  
CARNE Jim   Area a              
CENTRONE Krista                 
COMBES Greg Area b              
COMBES Greg Area b              
COMBES Greg                     Area c
DEVRIES Phil                    Area c
DEVRIES Phil                    Area A

需要像这样查看

{{1}}

1 个答案:

答案 0 :(得分:0)

您可以执行类似

的查询
SELECT Contractor,GROUP_CONCAT(Area) as comma_area,DATE_SUB(startdate,INTERVAL WEEKDAY(startdate) DAY ) as week, MONTH(startdate) as montn,YEAR(startdate) FROM table1 GROUP BY WEEK(startdate,1);

它不会给你确切的结果,但是它会在逗号分隔的字段中给你区域,包括承包商名称,周,月和年。您可以稍后在代码中修改结果。