从多列获取1行

时间:2013-12-13 17:49:03

标签: sql-server-2012 pivot

我有2张桌子

表#1:订单

orderid  unitid  active
      1      aa      1      
      2      bb      0
      3      cc      1
      4      dd      1

表2:详细信息

orderid     month
      1         6
      1         7
      1        12
      2         1
      2         6
      3         1
      3         2
      3         3
      3         4
      3         6

所需输出:

orderid   unitid     jan   feb  mar  apr  may  jun  .........  dec
  1           aa                               yes             yes
  3           cc     yes   yes  yes  yes

对于ACTIVE为1且所有unitid的所有订单。

我尝试使用case语句,我为单个orderid获取了多行,这不是我想要的。

我看到很多关于使用一个表的数据透视的示例,如何使用2个表执行此操作?我正在使用SQL Server 2012。

1 个答案:

答案 0 :(得分:0)

也许在SELECT中作为参数选择

像这样;

Select orderid, unitid, (SELECT month 
                         From Table2 
                         WHERE ...)
From table1
Where ...

我在这个问题上引用了这个答案:

A select query selecting a select statement