SQL - 如何从其他表中选择信息

时间:2018-04-07 08:52:45

标签: mysql sql

我是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相关联的文本

你能指导我做错了吗?

2 个答案:

答案 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>