【问题标题】:Print two rows in one column [Advanced SQL]在一列中打印两行 [高级 SQL]
【发布时间】:2012-02-20 09:57:43
【问题描述】:

大家好,

我被困在这里,我迫切需要帮助......

显然,我正在尝试将两行合并为一列。

我目前的sql dan表设计是:

select * from timetable order by name, id

这给了我这个:

Here

有谁知道如何设计我的查询,这样我会得到这样的结果:

Here

仅供参考,我使用的是 Microsoft SQL Server 2005。

提前谢谢大家! :)

抱歉,我无法在此处上传图片。

对不起...我发布了相同的图像!对不起 !!

我已经上传了新的..请看看..

【问题讨论】:

  • 我无法在您发布的图片中看到任何变化
  • 你能检查一下链接吗?我认为是相同的图像
  • 您的问题两次链接到同一张图片。
  • 您链接到同一张图片两次。
  • 对我来说,两个带有查询结果的图像看起来是一样的。指向它们的链接看起来也一样。

标签: sql database sql-server-2005


【解决方案1】:
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

【讨论】:

  • 非常感谢 GarethD。让我明天早上在办公室试试!!!非常感谢 !! =)
  • @KikiChandra - 如果这有帮助,请将其标记为答案,以将其从“未回答”问题中删除。谢谢
猜你喜欢
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 2016-04-05
  • 2011-09-12
相关资源
最近更新 更多