首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql:在另一列下面显示列的值

Mysql:在另一列下面显示列的值
EN

Stack Overflow用户
提问于 2016-11-24 13:47:07
回答 1查看 305关注 0票数 0

我真的被困在这里了。我已经通过准备一个可执行语句来尝试联合。我非常清楚SQL不是一种用于这类任务的语言,但到目前为止,我们的目标是创建一个原型。实际的技术实现将在以后进行。

我会解释我的要求。

有一个临时表,我在其中存储名称,项目和与该项目相关的功能。列将行存储为:

示例数据:

代码语言:javascript
复制
   project, Tracker, resource_name, Total_Hours, date, project_counts, 

   'Slim', 'Feature', 'babu.balakrishnan', '39', '2016-10-22', '20'
   'Slim', 'Feature', 'prasenjit.ghosh',  '1.5', '2016-10-22', '2'
   'Slim', 'Feature', 'shamim.akhtar',    '3',   '2016-10-22', '2'
   'Slim', 'Support', 'babu.balakrishnan', NULL, '2016-10-22', '1'
   'Slim', 'Support', 'shamim.akhtar',     '3',  '2016-10-22', '2'

我希望输出以这种方式显示:

代码语言:javascript
复制
   babu.balakrishnan    Slim     2016-10-22    
                       Feature      20                        
                       Support      1             


      prasenjit.ghosh   Slim                                   
                        Feature     3              

我知道如何在一行中显示开发人员名称、项目名称和日期,但我不知道如何在项目名称下面显示项目状态。另外,这只适用于一个开发人员。我需要为所有与开发人员相关的项目重复这一点,然后,对于其他开发人员也是如此。

代码语言:javascript
复制
       SELECT
       GROUP_CONCAT(DISTINCT
       CONCAT(
       'CASE WHEN date = ''',
       date,
       ''' then project_counts end AS `', date, '`' )
       ORDER BY date ) INTO @sql
       FROM finance_dashboard.resource_utilization_data;

       SELECT
       GROUP_CONCAT(DISTINCT
       CONCAT(
       'CASE WHEN project = ''', 
       project,
       ''' then Tracker end AS `', ' ' , '`' )
       ORDER BY date ) INTO @sql2
       FROM finance_dashboard.resource_utilization_data;

       SET @sql = CONCAT('select distinct resource_name, project        
       ,',@sql, ' from finance_dashboard.resource_utilization_data 
       union
       select '''' ,', @sql2, '," " FROM        
       finance_dashboard.resource_utilization_data group by 
       Tracker');        

我得到的输出是:

代码语言:javascript
复制
       'babu.balakrishnan',  'Slim', '20'
       'prasenjit.ghosh',    'Slim', '2'
       'shamim.akhtar',      'Slim', '2'
       'babu.balakrishnan',  'Slim', '1'
                         '', 'Feature', ' '

我希望功能,支持或任何开发人员的地位,出现在下面瘦,为各自的开发人员。

在查询级别,这是可能的吗?我知道,聚合函数是必须使用的。

此外,是否可以动态绑定变量,以便将特定行的值写在列的下面?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-11-24 13:56:46

代码语言:javascript
复制
$db=new mysqli("localhost","root","","test");

$result=$db->query("select date,project_id,name ... from tableName");

while(list($date,$project_id,$name)=$result->fetch_row()){
   echo "<div class='record'>";
      echo "<div class='field'><strong>Date:</strong> $date</div>";
      echo "<div class='field'><strong>Project:</strong> $project_id</div>";
      echo "<div class='field'><strong>Name:</strong> $name</div>";
   echo "</div>";

 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40778837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档