我想創建套不同的問題和存儲問題的答案幾乎是無限列
這就是我試圖
表問題 ID,名稱
表字段 ID,標籤
表關係 id,question_id,field_id
這很好用,但只適用於 這個問題的顯示部分,但是如何存儲答案呢?我不能存儲答案水平,因爲我沒有一個參考(COL名),和垂直方向將是非常糟糕的數據庫嗎?
IM用mysql。什麼是最好的方法來做到這一點?謝謝!
我想創建套不同的問題和存儲問題的答案幾乎是無限列
這就是我試圖
表問題 ID,名稱
表字段 ID,標籤
表關係 id,question_id,field_id
這很好用,但只適用於 這個問題的顯示部分,但是如何存儲答案呢?我不能存儲答案水平,因爲我沒有一個參考(COL名),和垂直方向將是非常糟糕的數據庫嗎?
IM用mysql。什麼是最好的方法來做到這一點?謝謝!
您可以只需添加1更多的錶店回答:
question_id PK INT
user_id PK INT <-- or maybe anything that identifies the user
field_id PK INT
answer VARCHAR <-- or TEXT , depends on your usage
要返回所有結果(假設回答表命名爲tbl_answer
):
SELECT `c.name` AS question, b.label, answer FROM tbl_answer a
LEFT JOIN fields b ON a.field_id=b.id
LEFT JOIN questions c ON a.question_id=c.id
要返回的特定結果用戶:
SELECT `c.name` AS question, b.label, answer FROM tbl_answer a
LEFT JOIN fields b ON a.field_id=b.id
LEFT JOIN questions c ON a.question_id=c.id
WHERE user_id={user id here}
返回特定問題的結果:
SELECT `c.name` AS question, b.label, answer FROM tbl_answer a
LEFT JOIN fields b ON a.field_id=b.id
LEFT JOIN questions c ON a.question_id=c.id
WHERE question_id={question id here}
當然,你必須進一步處理結果。
簡單。
你只需要另一個表來存儲答案在:
ID question_id FIELD_ID(回答)
你可能還需要一個更現場爲您的 「答案」 關聯像某人或問卷正在回答。
肯定。這是我認爲的明顯的答案。但如果我這樣做,我會爲每個答案有一排! – handsome
正確,但沒有錯。 – stevecomrie
,我怎麼能建立一個查詢返回所有提交?謝謝! – handsome