我有一張表,可以存儲對幸福問題的回答。結構是:獲得調查答案矩陣的回覆數
Wellbeing(WellbeingId, WellbeingDate, Q1, Q2, Q3, Q4, Q5, Q6, Q7...)
+------------+---------------+----+----+----+
|WellbeingId | WellbeingDate | Q1 | Q2 | Q3 |...
+============+===============+====+====+====+
|1 | 01/01/2015 | 1 | 1 | 5 |
+------------+---------------+----+----+----+
|2 | 10/01/2015 | 3 | 3 | 2 |
+------------+---------------+----+----+----+
|3 | 18/01/2015 | 2 | 4 | 1 |
+------------+---------------+----+----+----+
WellbeingResponses(ResponseId,responseText的)
+-----------+---------------------+
|ResponseId | ResponseText |
+===========+=====================+
|1 | 'None of the Time' |
+-----------+---------------------+
|2 | 'Rarely' |
+-----------+---------------------+
|3 | 'Sometimes' |
+-----------+---------------------+
|4 | 'Most of the time' |
+-----------+---------------------+
|5 | 'All of the time' |
+-----------+---------------------+
每個Q
列具有1
和5
(含)之間的值。這些值鏈接到關聯文本的另一個表(即1 =不是很多,5 =所有時間等)。
我想從SQL Server獲取數據作爲每個數據庫的總數可能響應值,如下所示:
+-------------------+----------+----------+-------------+
|Response | Q1 Total | Q2 Total | Q3 Total ...|
+===================+==========+==========+=============+
|'None of the Time' | 500 | 256 | 546 |
+-------------------+----------+----------+-------------+
|'Rarely' | 500 | 256 | 546 |
+-------------------+----------+----------+-------------+
|'Sometimes' | 500 | 256 | 546 |
+-------------------+----------+----------+-------------+
我試圖選擇出的數據的各個位,並使用UNION ALL它但只是堆疊的數據作爲從各7「Q的每一個的5個值的計數「列,也嘗試調整我在某處找到的數據透視查詢,但在嘗試使用動態數據查找從WellbeingResponses
表中選擇列的數據時無法計算出該數據。
任何幫助將不勝感激。
編輯:增加幸福感反應表。
感謝您的理解,我會研究跨應用(不是用來作爲數據庫查詢的新手)。我可能不得不查看是否可以對數據庫進行重組,以便更輕鬆地進行操作......儘管這意味着要在網站上更改一些內容。 – bowfinger 2015-03-02 17:31:29
@bowfinger我添加了一個替代解決方案,使用多個連接。最大的問題是你目前的結構,很難合作。 – Taryn 2015-03-02 17:32:47
我認爲這是我最初嘗試這樣做的方式,但是我先從Wellbeing表中選擇,然後將內部聯接(因爲沒有值永遠不能爲null)到WellbeingResponses表。它看起來很骯髒和低效......可能是重組的原因。在您的原始答案中,我將在哪裏添加ORDER BY子句以獲得1至5的響應文本? – bowfinger 2015-03-02 17:46:54