我正在创建一个查询,该查询将为每个主键返回一行。问题是在数据库中有另一个我试图加入的表,而在另一个表中,第一个表中的主键可以多次出现,但是有一个代码,用于描述存储在名为的列中的信息类型text_info,用于存储与代码所代表的内容相关的文本。
例如:
PrimaryKey|Code |text_info
--------------------------------
5555 |1 |1/4/2017
5555 |2 |Approved
我想要的是一个返回类似这样的选择语句。
PrimaryKey|Date |Status
----------------------------------
5555 |1/4/2017 |Approved
我一直在尝试以各种方式加入这两个表,但我的尝试总是返回多行,我不想要这个查询。任何帮助将非常感谢。
答案 0 :(得分:3)
我认为一个简单的条件聚合可以解决这个问题。如果您有大量和/或可变数量的代码,则可能必须使用DYNAMIC。
Select PrimaryKey
,Date = max(case when code=1 then text_info else null end)
,Status = max(case when code=2 then text_info else null end)
From YourTable
Group By PrimaryKey