在一列中打印两行[高级SQL]
大家好 我被困在这里,我急需帮助 显然,我试图将两行合并为一列 我当前的sql dan表设计是:在一列中打印两行[高级SQL],sql,database,sql-server-2005,Sql,Database,Sql Server 2005,大家好 我被困在这里,我急需帮助 显然,我试图将两行合并为一列 我当前的sql dan表设计是: select * from timetable order by name, id 这就给了我: 是否有人知道如何设计我的查询,以便我得到如下结果: 仅供参考,我正在使用Microsoft SQL Server 2005 提前谢谢大家!:) 很抱歉,我无法在此上传图像 对不起。。。我贴了同样的图片!!对不起 我已经上传了新的。。请看一看 我看不到你发布的图片有任何变化。你能检查一下链接吗?我想
select * from timetable order by name, id
这就给了我:
是否有人知道如何设计我的查询,以便我得到如下结果:
仅供参考,我正在使用Microsoft SQL Server 2005
提前谢谢大家!:)
很抱歉,我无法在此上传图像
对不起。。。我贴了同样的图片!!对不起
我已经上传了新的。。请看一看 我看不到你发布的图片有任何变化。你能检查一下链接吗?我想是同一张图片。你的问题链接到同一张图片两次。你链接到同一张图片两次。对我来说,两张带有查询结果的图片看起来都一样。链接看起来也一样。非常感谢GarethD。让我明天早上在办公室试试!!!非常感谢!!=)@基基钱德拉-如果这有帮助,请将其标记为答案,从“未回答”问题中删除。谢谢
SELECT COALESCE(i.Name, o.Name) [Name],
i.Time [TimeIN],
MIN(o.Time) [TimeOUT]
FROM ( SELECT *
FROM Timetable
WHERE Status = 'IN'
) i
FULL OUTER JOIN
( SELECT *
FROM Timetable
WHERE Status = 'OUT'
) o
ON o.Name = i.Name
AND o.Time > i.Time
GROUP BY COALESCE(i.Name, o.Name), i.Time
ORDER BY Name, TimeIN