从多列中获取 1 行
Posted
技术标签:
【中文标题】从多列中获取 1 行【英文标题】:Get 1 row from multiple columns 【发布时间】:2013-12-13 17:49:02 【问题描述】:我有两张桌子
table#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。
【问题讨论】:
嗨,“SQL 2012”是指 SQL Server 2012 吗?那么为什么它被标记为 Oracle 呢?如果不是,那是什么意思?如果您也可以edit 您的问题包含您迄今为止尝试过的内容,那就太好了。谢谢! 要使用两个表,只需编写一个连接并旋转结果。 嗨,本,感谢您的反馈。我已经编辑了文本。 【参考方案1】:可能是 SELECT 中的 Select 作为参数
类似的东西;
Select orderid, unitid, (SELECT month
From Table2
WHERE ...)
From table1
Where ...
我用这个答案来引用这个问题:
A select query selecting a select statement
【讨论】:
以上是关于从多列中获取 1 行的主要内容,如果未能解决你的问题,请参考以下文章