クエリに問題があります:
任意の与えられたものについて、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 以上あるため、すべてのスコープで実行する必要があることです。これを達成するためのよりエレガントな方法はありますか?
ヘルプ、アイデア、または提案をいただければ幸いです。