【问题标题】:need Sql query (may be pivot)需要Sql查询(可能是pivot)
【发布时间】:2009-06-16 05:16:11
【问题描述】:

我有如下表,

产品名称 价格 日期 苹果 1.5 2009 年 5 月 5 日 苹果 3 2009 年 5 月 6 日 苹果 3.5 2009 年 5 月 7 日 苹果 2.5 2009 年 5 月 8 日 苹果 5.5 2009 年 5 月 9 日 橙色 10.5 5/5/2009 橙色 12.5 2009 年 5 月 6 日 橙色 7.5 2009 年 5 月 7 日 橙色 4.5 2009 年 5 月 8 日 橙色 5.5 2009 年 5 月 9 日

我需要如下输出:

产品名称 5/5/2009 5/6/2009 5/7/2009 5/8/2009 5/9/2009 苹果 1.5 3 3.5 2.5 5.5 橙色 10.5 12.5 7.5 4.5 5.5

还有日期增加栏也需要增加, 请帮助我

维克斯

【问题讨论】:

  • 请使用“代码”按钮进行编辑。
  • 另外,当您发布有关数据库的问题时,请务必发布相关表的架构。您甚至可能希望包含 SQL 来创建测试数据。这样,那些想要帮助您的人可以创建与您正在查看的完全相同的场景。

标签: sql pivot


【解决方案1】:

答案取决于您使用的数据库,但您可能会受益于this post

请注意,这是关于 SO 的一个非常受欢迎的问题。最好通过搜索相关主题为您服务。我认为您将受益于许多不同的观点,而不仅仅是此时登录的用户的观点。

【讨论】:

    【解决方案2】:
    select [Product name], //Give me all of the Fruit
    sum(case when date = '5/05/09' then Price end as [5/5/09], // Sum Case Allow for multiple record on the same day
    sum(case when date = '5/06/09' then Price end as [5/6/09],
    sum(case when date = '5/07/09' then Price end as [5/7/09],
    sum(case when date = '5/08/09' then Price end as [5/8/09],
    sum(case when date = '5/09/09' then Price end as [5/9/09]
    from tblfruits
    group by [Product Name]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      相关资源
      最近更新 更多