gpt4 book ai didi

php - MySQL 中的数据透视表未正确返回

转载 作者:行者123 更新时间:2023-11-29 02:55:29 24 4
gpt4 key购买 nike

我知道这个问题已经被问过几次了,我正在尝试完全按照公认的答案去做,但显然我做错了什么,无法获得所需的输出。

我想返回以下格式的数据:

名字 | 27-06-2015 | 28-06-2015

===== | ========== | ==========

约翰 |早上 6:30 |早上 7:30

史蒂夫 |早上 6:00 |凌晨 4:00

++++++++++++++++++++++++++++++++++++++++

但是当我运行 Fiddle query 我在出勤表中没有得到第二天的任何数据。如果我删除分组,我会得到第二天的数据,但会在结果集中插入一个新行:

名字 | 27-06-2015 | 28-06-2015

===== | ========== | ==========

约翰 |早上 6:30 |空

约翰 |空 |早上 7:30

史蒂夫 |早上 6:00 |空

史蒂夫 |空 |凌晨 4:00

++++++++++++++++++++++++++++++++++++

我使用的sql是:

SELECT 
Name,
case(dropoffdate) when '20150627' then CONCAT(DropoffTime, ' - ', PickupTime) end as '2015-06-27',
case (DropoffDate) when '20150628' then CONCAT(DropoffTime, ' - ', PickupTime) end as '2015-06-28'
FROM
Student s
LEFT OUTER JOIN Attendance a on s.id = a.student
GROUP BY s.id

这是 fiddle link

最佳答案

您必须根据需要使用MAXMIN 组函数来获取有效记录。

SELECT 
Name,
MAX( case(dropoffdate)
when '20150627'
then CONCAT(DropoffTime, ' - ', PickupTime)
end ) as '2015-06-27',
MAX( case (DropoffDate)
when '20150628'
then CONCAT(DropoffTime, ' - ', PickupTime)
end ) as '2015-06-28'
FROM Student s
LEFT OUTER JOIN Attendance a on s.id = a.student
GROUP BY s.id

关于php - MySQL 中的数据透视表未正确返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31113883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com