2014-09-19 182 views
0

我有一個收集用戶輸入的網站。我們給用戶提問,並要求他們選擇答案。有幾個問題。在某些問題中,用戶只能選擇一個答案,並且在某些問題中,用戶可以因爲複選框設施而選擇多個答案。具有相同問題但不同答案的重複查詢

當我寫一個sql查詢時,我得到多個問題列出多個答案選擇問題。喜歡這個。

Question         User Answer 
--------         ----------- 
What color is apple?       Red 
What color is banana?       Yellow 
Days in Weekday?        Monday  
Days in Weekday?        Tuesday 
Days in Weekday?        Wednesday 
Days in Weekday?        Thursday 
Days in Weekday?        Friday 
Total days in a week?       7 

我想是這樣的....

Question         UserAnswer 
--------         ----------- 
What color is apple?       Red 
What color is banana?       Yellow 
Days in Weekday?        Monday, Tuesday, Wednesday, Thursday, Friday 
Total days in a week?       7 

我試圖用不同的,但因爲這些文字我不能使用不同的......誰能給我一個簡單的方法來這個?

我使用PHP和MySQL。 Question和UserAnswer都被存儲在不同的表中,但是關係被創建。

謝謝。

+0

你有試過什麼嗎? – 2014-09-19 09:10:28

+0

將值存儲在變量中。然後使用它們,因爲你想嘗試一下你自己。如果你失敗了,你可以在這裏發佈你的代碼。謝謝 – 2014-09-19 09:11:40

+0

我試過並得到了多個問題的答案。但是,我需要不同的結果,這將只顯示一個問題的多個答案...就像上面。 – bmm 2014-09-19 09:12:53

回答

0

試試這個:

SELECT questions, GROUP_CONCAT(User_Answer) as User_Answer 
FROM table_name GROUP BY questions 

就以GROUP_CONCAT()看看以瞭解更多信息。

1

嘗試這樣:

SELECT questions.question_text, GROUP_CONCAT(answer.answer_text SEPARATOR ',') 
FROM questions 
    LEFT JOIN answer ON question.id = answer.question_id 
GROUP BY question.id 

顯然,表/列名稱將是他們是什麼。左連接可以確保你得到沒有答案的問題,你可能想也可能不想。

[編輯]與您的表,它應該是

SELECT questions.text, GROUP_CONCAT(answers.text SEPARATOR ',') 
FROM questions 
    LEFT JOIN UserResponse ON questions.id = UserResponse.question_id 
    LEFT JOIN answers on UserResponse.answer_id = answers.id 
GROUP BY question.id 

這將是對所有用戶 - 大概在UserResponse表你有一個用戶ID,你可以在添加爲WHERE?

+0

將select中的所有非分組列總結在一起總是一個好主意...如果您不這樣做,您將在嚴格模式下獲得MySQL。對於這個特定的例子,我會做MIN(questions.question_text) – Salketer 2014-09-19 09:59:46

+0

你好,但我的表格結構以不同的方式。有一個名爲fields(id,text)和表的問題表,稱爲答案,其中填充了問題表中的問題和答案表中的答案(字段,文本)。還有另一個名爲UserResponse的表。它有表格字段,例如(id,question_id,answer_id)。因此,當用戶回答和選擇選項時,在後臺腳本傳遞數字,如1,2,3等等,以回答UserResponse(id,question_id,answer_id)的問題......如何解決上述問題。 ?請幫忙 – bmm 2014-09-23 08:17:14

相關問題