在T-SQL中应用PIVOT以获取行到列

时间:2015-09-16 08:41:57

标签: sql-server tsql sql-server-2008-r2 pivot

我知道这也被问到earlier,但似乎我无法对我的要求应用解决方案

我需要一个应用PIVOT这样的表(从连接生成):

pt_something_kor

变为:

var Module = (function(){
    var my = {};

    my.testMethod = function(){
        alert("test method is called");
    };
    return my;
}());

(function(anyobj){

    anyobj.anotherMethod = function(){
        alert("another Method is called");
    };

    anyobj.testMethod();

}(Module));

//---  Module is an Object so we can pass it to a function as an argument  ---//
 pager.extendWithPage(Module);
 ko.applyBindings(Module);
 pager.start();

这是我的查询:

    Category    |   Tag     |   Title
    ----------------------------------
    First       |   Tag 1   |   Article 1
    Second      |   Tag 2   |   Article 1
    Third       |   Tag 4   |   Article 1
    First       |   Tag 1   |   Article 2
    Second      |   Tag 4   |   Article 2
    Third       |   Tag 5   |   Article 2
    First       |   Tag 1   |   Article 5
    Third       |   Tag 7   |   Article 5
    First       |   Tag 8   |   Article 7

1 个答案:

答案 0 :(得分:3)

你已经成功地埋没了我认为你的代码示例中的实际问题。问题似乎是您只想获取字符串值,而您找到的大部分样本都使用COUNT()AVG()

好吧,你总是要使用聚合。所以你需要的是一个可以使用字符串的聚合。幸运的是,MIN()MAX()会这样做,如果它们只被赋予一个值作为输入,那么这将是整个输出。

所以只需使用MAX(Title)而不是Count(Title)