mysql - JOIN 语句的 SQL 问题(来自 1 个表的多个结果)
问题描述
所以我有一个选择 quiz_questions 和 quiz_question_options 的 SQL 查询但是当我运行我的 SQL 查询时,我只从 quiz_option 得到 1 个结果(在我的数据库中,每个问题都有 3 个选项)。我如何能够为每个问题显示所有 3 个选项?
表:
quiz_question
-id (PK)
-quiz_id(FK)
-question
quiz_question_option
`-id (PK)
-quiz_question_id(FK)
-quiz_option`
到目前为止,这是我的代码:
SELECT quiz_question.question,quiz_question_option.quiz_option
FROM quiz_question_option
LEFT JOIN quiz_question
ON quiz_question.id = quiz_question_option.quiz_question_id
ORDER BY RAND() LIMIT 5
限制将根据用户输入而改变
编辑:我得到的结果是:
question |quiz_option
1.question|1.answer
2.question|2.answer
我需要得到的是:
question |quiz_option
1.question|1.answer
1.question|2.asnwer
1.question|3.answer
2.question|1.answer
2.question|2.answer
3.question|3.answer
etc...
2.编辑:我需要为我的项目(网站)进行 sql 查询,以便用户选择他想要的问题数量。在下一页上,它将显示问题。我已经有了显示随机问题的代码。但我不知道如何显示所选问题的选项。
解决方案
似乎你想忽略这种关系。你想要达到的目标是cross join
select t1.question, t2.quiz_option
from quiz_question_option t1
cross join quiz_question t2
推荐阅读
- git - 为什么如果您的本地更改与上游更改冲突,您可以隐藏更改,执行拉取,然后取消存储?
- mysql - 什么是正确的 SELECT 语句来加入这个表
- django - django DateField 模型 - 无法找到日期差异
- php - Laravel 控制台像 rails
- android - 在 intellij 中运行示例 dart 应用程序时发生错误
- azure-functions - Azure Function App 和 Microsoft.TeamFoundationServer.Client Nuget 包在依赖项中的冲突
- mysql - 从 ib_logfile、ibdata 文件中恢复 mysql 数据库
- python - 从 Python 执行插入时,如何调用 SQL Server 函数作为参数
- geolocation - geolite_city_bq_b2 数据集的准确性
- r - 用于查找至少 2 个在 2 个字符串之间匹配的单词的 R 函数(应用于 2 个字符串向量)?