2

クエリに問題があります: ここに画像の説明を入力

任意の与えられたものについて、IntakeQCID私は多くIntakeQCDetailIDの と多くの質問と回答を持っています。ここで、各質問と回答を個別の列に選択する必要があります。

このようなものは動作します:

SSELECT     IntakeQC.IntakeQCID, IntakeQC.PalletID, Max(CASE WHEN QCProductQuestions.QCQuestionID = 106 THEN CAST(Answer AS varchar(10)) ELSE '' END) AS ArrivalTemperature
FROM         QCProductQuestions INNER JOIN
                      IntakeQCDetails ON QCProductQuestions.QCProductQuestionID = IntakeQCDetails.QCProductQuestionID INNER JOIN
                      IntakeQC ON IntakeQCDetails.IntakeQCID = IntakeQC.IntakeQCID INNER JOIN
                      QCQuestions ON QCProductQuestions.QCQuestionID = QCQuestions.QCQuestionID
WHERE     (QCProductQuestions.Intake = 1) AND (IntakeQC.IntakeQCID = 9413) AND (IntakeQCDetails.Answer <> '')
Group By IntakeQC.IntakeQCID, IntakeQC.PalletID

出力は次のとおりです。

ここに画像の説明を入力

IntakeQCID特定のQC質問が20ある場合にこれを行わないと、20行のデータが得られ、1つだけが必要になります..

ただし、問題はQCQuestions、スコープに 170 以上あるため、すべてのスコープで実行する必要があることです。これを達成するためのよりエレガントな方法はありますか?

ヘルプ、アイデア、または提案をいただければ幸いです。

4

1 に答える 1

0

私はこれがあなたのためにトリックを行うことができると信じていますhttp://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/ おそらく、このようにテーブルにDDLを提供できますあなたのコードやその他のものをテストするのがより簡単になるはずです

于 2013-10-03T15:22:38.330 に答える