我真的被困在这里了。我已经通过准备一个可执行语句来尝试联合。我非常清楚SQL不是一种用于这类任务的语言,但到目前为止,我们的目标是创建一个原型。实际的技术实现将在以后进行。
我会解释我的要求。
有一个临时表,我在其中存储名称,项目和与该项目相关的功能。列将行存储为:
示例数据:
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'我希望输出以这种方式显示:
babu.balakrishnan Slim 2016-10-22
Feature 20
Support 1
prasenjit.ghosh Slim
Feature 3 我知道如何在一行中显示开发人员名称、项目名称和日期,但我不知道如何在项目名称下面显示项目状态。另外,这只适用于一个开发人员。我需要为所有与开发人员相关的项目重复这一点,然后,对于其他开发人员也是如此。
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'); 我得到的输出是:
'babu.balakrishnan', 'Slim', '20'
'prasenjit.ghosh', 'Slim', '2'
'shamim.akhtar', 'Slim', '2'
'babu.balakrishnan', 'Slim', '1'
'', 'Feature', ' '我希望功能,支持或任何开发人员的地位,出现在下面瘦,为各自的开发人员。
在查询级别,这是可能的吗?我知道,聚合函数是必须使用的。
此外,是否可以动态绑定变量,以便将特定行的值写在列的下面?
谢谢
发布于 2016-11-24 13:56:46
$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>";
}https://stackoverflow.com/questions/40778837
复制相似问题