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有 20 个 QC 问题,我会得到 20 行数据,我只想要一个..

然而问题是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 回答