我有以下查詢:SQL兩行合併爲一個
SELECT qn.ID,
qn.Title,
qt.Description,
l.DisplayName AS Language,
COUNT(q.ID) AS QuestionCount
FROM dbo.Questionnaires AS qn
JOIN dbo.QuestionnaireText AS qt ON qn.ID = qt.QuestionnaireID
JOIN dbo.Questions AS q ON q.QuestionnaireID = qn.ID
JOIN dbo.Languages AS l ON l.ID = qt.LanguageID
WHERE (qn.QuestionnaireTypeID = (SELECT ID
FROM QuestionnaireTypes
WHERE Value = 'Quiz'))
GROUP BY qn.ID, qn.Title, l.DisplayName, qt.Description
其如下表輸出:
36132A45-F09C-4EB5-9BD2-34A227EC03B9 Test NULL English 1
36132A45-F09C-4EB5-9BD2-34A227EC03B9 Test NULL Spanish 1
24395BC7-A890-4514-AB35-7614E226B2A5 Quiz NULL English 1
24395BC7-A890-4514-AB35-7614E226B2A5 Quiz NULL Spanish 1
03B13E61-6D7F-4597-8BB6-83889C7BFE29 G Quiz NULL English 6
03B13E61-6D7F-4597-8BB6-83889C7BFE29 G Quiz NULL Spanish 6
我需要的是查詢到了把以下內容:
36132A45-F09C-4EB5-9BD2-34A227EC03B9 Test NULL English, Spanish 1
24395BC7-A890-4514-AB35-7614E226B2A5 Quiz NULL English, Spanish 1
03B13E61-6D7F-4597-8BB6-83889C7BFE29 G Quiz NULL English, Spanish 6
我現在處於虧損狀態。有什麼建議麼?
有多少種語言? –
告訴我,試圖將多個值合併到單個字段中是SQL中的反模式。特別是如果它試圖在表示層中涉及數據層的機制。 – MatBailie
將值合併到單個字段僅適用於ssrs報告。我們的應用程序僅支持兩種語言,即英語和西班牙語。 '測驗'有相同的ID,但有英文和西班牙文版本。該報告將顯示報告名稱,描述,所有語言都不包含在內的語言以及測驗的問題計數。 –