gpt4 book ai didi

sql - 使用不同的 WHERE 语句从单个列返回多列数据

转载 作者:行者123 更新时间:2023-12-02 07:47:19 25 4
gpt4 key购买 nike

我想从我的数据库中输出下表

    DateTime   |  Measure 1  |  Measure 2
5-5-2011 | 35 | 45
4-5-2011 | 23 | 56
3-5-2011 | 22 | 56

我的问题数据库包含这种近似布局的数据

    DateTime   |  Values     |  ID
5-5-2011 | 35 | Measure 1
5-5-2011 | 45 | Measure 2
4-5-2011 | 23 | Measure 1
4-5-2011 | 56 | Measure 2
3-5-2011 | 22 | Measure 1
3-5-2011 | 56 | Measure 2

无论如何我可以在单个 SQL 查询中获得我想要的输出。我可以通过多个选择查询轻松获取我的数据,即

  SELECT DateTime, Values AS Measure 1 FROM database.table WHERE ID='Measure 1'
SELECT DateTime, Values AS Measure 2 FROM database.table WHERE ID='Measure 2'

但是我需要单个查询中的数据才能在 MSSQL Report Builder 中构建漂亮的图片。

所讨论的数据库包含数百个度量的数百万个值。我正在运行 MSSQL 2008。

我研究过 Union、Case 等,但无法找到任何方法来正常工作。

希望有人能帮助我。我很困惑,不知道在这个问题上寻求帮助的正确短语。如果我能攻克这个难题,那么我将拥有几乎所有的工具来完成我想做的一切。

提前致谢

最佳答案

您不能为 ID 列找到一些其他名称,这也是一个保留字吗? :-)

SELECT
[DateTime],
MAX(CASE WHEN ID='Measure 1' THEN [Values] END) as Measure1,
MAX(CASE WHEN ID='Measure 2' THEN [Values] END) as Measure2
FROM
[table]
GROUP BY
[DateTime]

关于sql - 使用不同的 WHERE 语句从单个列返回多列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6046260/

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