我是sql的新手并尝试构建某种测验。我制作了两张桌子,图片上显示了图式。 Target
可能我做错了但不知道如何做对。 我想显示一个问题,所有三个可能的答案和良好的答案,所以我得到的答案是文本而不是数字。 我试过了
select q.questiontext, q.answer1_id, q.answer2_id, q.answer3_id, a.answertext
from questions q
join answers a on q.goodanswer = a.id
但我得到了答案ID,我想要与ID相关联的文本
你能指导我做错了吗?
答案 0 :(得分:3)
您需要为要显示的每个列单独加入answers
表:
SELECT q.questiontext, a1.answertext AS answer1, a2.answertext AS answer2, a3.answertext as answer3, a4.answertext as good_answer
FROM questions AS q
JOIN answers AS a1 ON a1.id = q.answer1_id
JOIN answers AS a2 ON a2.id = q.answer2_id
JOIN answers AS a3 ON a3.id = q.answer3_id
JOIN answers AS a4 ON a4.id = q.goodanswer
答案 1 :(得分:0)
提出问答表。
问题表:id,文本
答案表:id,question_id,status,text
<template>
<div id="addForm">
<div class="row">
<div class="col-md-4">
<div class="form-group label-floating">
<label class="control-label">Case Type</label>
<select @change="show" class="form-control" v-model="selectedType" multiple>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
</div>
<div>
</div>
<div class="row" v-if="selectedType.includes('1')">
<div class="col-md-4">
<div class="form-group label-floating">
<label class="control-label">Date Released</label>
<input type="date" class="form-control" v-model="released" required="">
</div>
</div>
</div>
<div class="row" v-if="selectedType.includes('2')">
<div class="col-md-4">
<div class="form-group label-floating">
<label class="control-label">Full Name</label>
<input type="date" class="form-control" v-model="fullname" required="">
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "HelloWorld",
data() {
return {
selectedType: [],
address: "",
fullname: "",
released: ""
};
},
methods: {
show() {
console.log(this.selectedType);
}
}
};
</script>