2016-04-26 116 views
1

這是一個自動呼叫反饋數據庫,存儲客戶對每個問題的反饋。SQL子查詢/自加入

我使用SQL Server 2012中我在表名以下數據[NPS_Feedback]

CLI   CallerID Customer_Account Question Feedback  Date 
34622968 F22141B854 400004775250  Q1   Satisfie  2016-03-25 
34622968 F22141B854 400004775250  Q2   Not Satisfied 2016-03-25 
34622968 F22141B854 400004775250  Q3   Not Satisfied 2016-03-25 
30227453 GED903EDL 400001913180  Q1   Not Satisfied 2016-03-25 
30227453 GED903EDL 400001913180  Q2   Satisfied  2016-03-25 
30227453 GED903EDL 400001913180  Q3   Not Satisfied 2016-03-25 
34622968 DAED19FDE 400004775250  Q1   Satisfied  2016-03-25 
34622968 DAED19FDE 400004775250  Q2   Satisfied  2016-03-25 
34622968 DAED19FDE 400004775250  Q3   Satisfied  2016-03-25 

請幫我用下面的願望輸出使用SQLstored程序報告

CLI  CallerID  Customer_Account Q1    Q2    Q3    Date 
34622968 F22141B854 400004775250  Satisfied  Not-Satisfied Not-Satisfied 2016-03-25 
30227453 GED903EDL 400001913180  Not-Satisfied Satisfied  Not-Satisfied 2016-03-25 
34622968 DAED19FDE 400004775250  Satisfied  Satisfied  Satisfied  2016-03-25 

請注意:

對於每個呼叫,來電顯示都是唯一的。

+0

退房PIVOT操作 – Squirrel

+0

使用軸。是Q1,Q2,Q3修復還是可以有更多的反饋類型。 – KumarHarsh

回答

1

除了使用PIVOT命令,你也可以使用有條件聚集:

SELECT 
    CLI, 
    CallerID, 
    Customer_Account, 
    Q1 = MAX(CASE WHEN Question = 'Q1' THEN Feedback END), 
    Q2 = MAX(CASE WHEN Question = 'Q2' THEN Feedback END), 
    Q3 = MAX(CASE WHEN Question = 'Q3' THEN Feedback END), 
    Date 
FROM NPS_Feedback 
GROUP BY 
    CLI, CallerID, Customer_Account, Date 

ONLINE DEMO

+0

先生,我需要所有的人在一條線上......! – BilalAhmed

+0

@BilalAhmed,我的答案有什麼問題?檢查演示。 –

+1

謝謝先生,這是我的錯誤,我有DateTime和時間是不同的,這就是爲什麼它分別顯示每條記錄。標記爲答案...! – BilalAhmed

0

一個簡單的PIVOT查詢將起作用。

select CLI,CallerID,Customer_Account, [Q1],[Q2],[Q3], Date 
from 
(
    select 
    CLI,CallerID,Customer_Account,Question,Feedback,Date 
    from [NPS_Feedback] 
)s 
pivot 
(
    max(Feedback) for Question in ([Q1],[Q2],[Q3]) 
) p 
+0

請仔細閱讀說明('p'附近的語法錯誤) – BilalAhmed

+0

親愛的,它顯示不同的行中的每個記錄..請指導我顯示屏幕截圖。有沒有可能在這裏附上截圖? – BilalAhmed

+0

@BilalAhmed這不可能發生。你一定錯過了什麼 – DhruvJoshi