透视SQL选择结果到期望的输出

时间:2017-11-02 04:45:41

标签: sql sql-server sql-server-2008

我正在尝试将SQL结果转换为分析报告的所需输出。 Select语句和输出如下:

$('#orderedproduct','#productqty').change(function(){
    var oproductname = $(this).val();
    $.ajax(
            type:'POST';
            data:{oproductname:oproductname},
            url:'ajax pages/amount.php',
            success:function(data){
                $('#orderedamount').val(data);
    }
});
});

输出单一问题(QID)

enter image description here

OUTPUT MULTIPLE Question(QID) enter image description here

报告所需的输出结果如下: enter image description here

我们可以使用Pivot表或类似的方式而不是使用While和Cursor循环来实现这个结果吗?

谢谢和问候, Viju

1 个答案:

答案 0 :(得分:2)

以上查询无法使用PIVOT id。所有记录的qid值都相同,因为我们必须使用pivot中的任何聚合函数

检查以下查询以供参考

DECLARE @TAB TABLE (QID INT,[TEXT] VARCHAR(255),VALUE VARCHAR(255))
INSERT INTO @TAB VALUES (1,'WEAG','SDARG'),(1,'NUM','1'),(1,'ID','1')
,(2,'WEAG','RSTHGEST'),(2,'NUM','2'),(2,'ID','2')
,(3,'WEAG','SREVFGWR'),(3,'NUM','3'),(3,'ID','3')
SELECT * FROM @TAB

SELECT * FROM 
(
SELECT T.QID,t.[TEXT],T.VALUE
FROM @TAB T
)A
PIVOT (MAX(VALUE) FOR [TEXT] IN (WEAG,ID) ) AS P

输出

QID WEAG       ID
1   SDARG       1
2   RSTHGEST    2
3   SREVFGWR    3