2017-06-26 10 views
1

オフィスでは、MS SQLテーブルを統合する必要があります。クォータション番号ごとに1行を取得する必要があります。 表を参照:https://drive.google.com/file/d/0B8AuHxQASEWyaEhfSVpDT3lIV1U/view?usp=sharingMS SQL Serverデータ統合

SELECT DISTINCTを使用してみましたが、取得できません。

SQL Serverクエリ:

SELECT DISTINCT ([QuotationNumber]) 
     ,[CreationDate] 
     ,[QuotationDate] 
     ,[CustomerNumber] 
     ,[CustomerName] 
     ,[SalesPersonName] 
     ,[Rreg] 
     ,[ProductDescription] 
     ,[FamilyDescription] 
     ,[NameVariant] 
     ,[StringValue] 
FROM [ABC].[dbo].[DEF] 
WHERE [CreationDate] > "2017-05-08 00:00:00.000" 
ORDER BY [CreationDate] DESC 
+1

DISTINCTは、あなたを助けることはありません。 あなたは何にアプローチしますか?なぜあなたは2つのテーブルであなたのテーブルを分割していないのですか?データを正規化する必要があります –

+0

アカウントを引用番号に変更する –

答えて

2

あなたはすべての列を続ける場合は、することはできません。 selectから[FamilyDescription]、[NameVariant]、[StringValue]を削除するか、目的の結果の値に新しい列を追加します。

SELECT DISTINCT ([QuotationNumber]) 
     ,[CreationDate] 
     ,[QuotationDate] 
     ,[CustomerNumber] 
     ,[CustomerName] 
     ,[SalesPersonName] 
     ,[Rreg] 
     ,[ProductDescription] 
FROM [ABC].[dbo].[DEF] 
WHERE [CreationDate] > "2017-05-08 00:00:00.000" 
ORDER BY [CreationDate] DESC 

あなたはすべての値を保つために何をすべきかあります:列FamilyDescription、NameVariantとSTRINGVALUEは、レコード間で異なるようもちろんの

SELECT DISTINCT [QuotationNumber] 
     ,[CreationDate] 
     ,[QuotationDate] 
     ,[CustomerNumber] 
     ,[CustomerName] 
     ,[SalesPersonName] 
     ,[Rreg] 
     ,[ProductDescription] 
     ,MIN([FamilyDescription]) [FamilyDescription] 
     ,MAX(CASE WHEN NameVariant = 'DT_residual' THEN StringValue END) [DT_residual] 
     ,MAX(CASE WHEN NameVariant = 'DT_interestRateSum' THEN StringValue END) [DT_interestRateSum] 
     ,MAX(CASE WHEN NameVariant = 'DT_depositValue' THEN StringValue END) [DT_depositValue] 
FROM [ABC].[dbo].[DEF] 
GROUP BY [QuotationNumber] 
     ,[CreationDate] 
     ,[QuotationDate] 
     ,[CustomerNumber] 
     ,[CustomerName] 
     ,[SalesPersonName] 
     ,[Rreg] 
     ,[ProductDescription] 
HAVING [CreationDate] > "2017-05-08 00:00:00.000" 
ORDER BY [CreationDate] DESC 
+0

あなたは 'xを別の行に分けて' [QuotationNumber] 'を参照として分割する必要があるのでしょうか? –

+0

本当にあなたがしようとしていることに依存しています。リストのみが必要な場合は、私の回答で更新したクエリでそれを持つことができます –

+0

これは私たちが得ようとしているものです: https://drive.google.com/file/d/0B8AuHxQASEWySVlsd2xCRGVhcVU/view?usp=共有しました –

関連する問題