2017-06-09 6 views
-1

私の目標は、それぞれの調査タイプとそれぞれの値でグループ化できるクエリを作成することです。日付は自動的に数日ごとに更新され、調査タイプは調査a、調査b、調査cという異なる調査タイプに分類されます。これらのアンケートは、送信済み(顧客が所有していることを意味し、完了していない)とラベル付けするか、受信済みとラベル付けすることができます(顧客が完了し、情報を受信したことを意味します) XXX-YY-SENTまたは "XXX-YY-RECIEVED"です.YYは特定の調査タイプとは異なります。 2週間ごとにシステムによって更新された日付までに完了した調査の合計数です。私の目標は、送受信タイプの違いを示すssrsで積み上げ縦棒グラフを作成できるように、調査タイプ別にデータをグループ化することです(調査の対象となるグループx-SENTと調査x-recieved)とSurvey Y(グループXの調査対象グループ)を使用してデータをグループ化してグループ化するためのクエリを開発しています。調査y-SENTおよび調査y-受信したグループ)および調査Z(グループbe調査z-SENTと調査z-recieved).hereは、SurveyInfoテーブルのサンプルデータです。これはデータの結果である(私はグループに測量タイプによってデータをご希望の場所です) グループをnvarcharデータ型に使用したい

SELECT [Date] ,[SurveyType] ,[Value] 
FROM SurveyInfo] 
    WHERE Date IN (SELECT max(Date) FROM SurveyInfo) and SurveyType like '%XXX%' 

:これは私が私のデータを引っ張るために使用するクエリです。

Date ,       SurveyType,    Value 

2017-06-02 08:00:02.270  XXX-AA-SENT-WITHIN-2YR   1000.0000 
2017-06-02 08:00:02.270  XXX-AA-RECEIVED-WITHIN-2YR  900.0000 
2017-06-02 08:00:02.270  XXX-BB-SENT-WITHIN-2YR   1200.0000 
2017-06-02 08:00:02.270  XXX-BB-RECEIVED-2YR    800.0000 
2017-06-02 08:00:02.270  XXX-CC-SENT-WITHIN-2YR   500.0000 
2017-06-02 08:00:02.270  XXX-CC-RECEIVED-WITHIN-2YR  400.0000 
+0

私は短いRFPを見てきました。ここで何が起こっているのですか?あなたは本当に人々を助けることができる一貫した質問にこれを煮沸する必要があります。 – tadman

+0

私はその壁を見て、私の心はそれを読むことを拒否します。 – Snowlockk

答えて

0

読めるのは難しいですが、私はあなたが望むものを理解していると思います。以下はあなたのお手伝いをし始めますか?

if object_id('tempdb.dbo.#test') is not null drop table #test 
create table #test 
(
    dateVal datetime, 
    SurveyType nvarchar(500), 
    SurveyValue decimal(36,4) 
) 

insert into #test 
values('2017-06-02 08:00:02.270','XXX-AA-SENT-WITHIN-2YR',1000.0000), 
('2017-06-02 08:00:02.270','XXX-AA-RECEIVED-WITHIN-2YR', 900.0000), 
('2017-06-02 08:00:02.270','XXX-BB-SENT-WITHIN-2YR',   1200.0000), 
('2017-06-02 08:00:02.270','XXX-BB-RECEIVED-2YR',    800.0000), 
('2017-06-02 08:00:02.270','XXX-CC-SENT-WITHIN-2YR',   500.0000), 
('2017-06-02 08:00:02.270','XXX-CC-RECEIVED-WITHIN-2YR',  400.0000) 

SELECT 
    substring(SurveyType,5,2) as SurveyType, 
    case when SurveyType like '%SENT%' then 'SENT' else 'RECEIVED' END as SENT_RECEIVED, 
    sum(SurveyValue) as SumSurveyValue 
FROM #test 
GROUP BY 
    substring(SurveyType,5,2) , 
    case when SurveyType like '%SENT%' then 'SENT' else 'RECEIVED' END 
ORDER BY 
    SurveyType, 
    SENT_RECEIVED 
関連する問題