php - 没有两个表之间的联接(foreign_key&primary集合给出重复的行)

标签 php mysql json

我的专栏有3张桌子:-

章节:-Id(主键)
         名称
问题库:-Id(主键),

名称,
Chapter_id(作为外键),
Question_list(用作JSON数据类型,包含章节ID的数组)
问题:-Id(主键)的名称,名字,chapter_id(作为外键引用章节的ID)

问题与章的关系:-一对一(表示一个问题可以在一个章中添加,不能在一个以上章中添加)

题库到章:-多对一(每章的意思是我们不能创建题库)

因为一个问题可以属于否。所以我添加了列作为Question_list(在Question Bank表中),其中包含问题ID列表作为json数据类型。

所以让我知道这个设计正确吗?

请告诉我查询以获得所需的结果如下

假设以下是我的表格

章节 - - - - - - - - - - - - - - - - - - - - - - - - - ----- Id名称------------------------------------------- ------------
1一般-------------------------------------------------- ------
2技术
题 - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------------- ID名称Name(Chapter_id ----------------) -------------------------------------------------- --------------
1什么是我的宠物的名字1 ------------------------------------------ -------------------------------------- 2我的车名是什么1 ---- -------------------------------------------------- -------------------------- 3我的朋友叫什么名字1 ---------------- -------------------------------------------------- -------------- 4什么是印度首都1 ----------------------------- -------------------------------------------------- -5什么是Java中的oops概念2 --------------------------------------------- --------------------------------------- 6如何编译Java 2 ----- -------------------------------------------------- ------------------------- 7 php中的数组是什么2 ------------------ -------------------------------------------------- ----------- --
Question_bank ------------------------------------------------- ------------------------------- ID的名称名称列表的问题列表Chapter_id -------------------------------------------------- ----------------- 1Question_bank1 1,2,1
-------------------------------------------------- ------------------------------- 2Question_bank2、1、3、4,1
-------------------------------------------------- ------------------------------- 3Question_bank3 5、6 2
-------------------------------------------------- ------------------------------- 4Question_bank4,7,2
-------------------------------------------------- ------------------------------- 5Question_bank5 6、7 2
假设我想获取属于技术章节的所有问题及其相应的问题库ID,则结果应显示如下------------------------- -------------------------------------------------- ----------------
chapter_id的question_bank的question_id的question_id的question_name ---------------------------------------------
2,question_bank_3、5、5是Java中的oops概念
-------------------------------------------------- -----------------------------------------
2,question_bank_3、6、6,如何编译java ------------------------------------------- ------------------------------------------------
2question_bank_4 php 7中的数组是什么
-------------------------------------------------- -----------------------------------------
2,question_bank_5、6、6,如何编译Java
-------------------------------------------------- -----------------------------------------
2,question_bank_5、2,php7中的数组与我选择章节作为常规一样,如果我同时选择技术和常规章节查询,则应返回来自问题银行的问题属于相应章节。
提前致谢....

最佳答案

我建议您将问题列表另存为问题行中的单个行,而不要用逗号分隔,在下面的查询中按图提取数据。如果您在使用的查询或下面的查询中遇到问题,请告诉我们。 :)编码愉快。

select q.name as question_name, q.id as question_id, qb.name as question_bank, c.id as chapter_id 
from chapter as c
join question as q on q.chapter_id = c.id
join question_bank as qb on qb.chapter_id = q.chapter_id
where c.id = 2;

关于php - 没有两个表之间的联接(foreign_key&primary集合给出重复的行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42018006/

相关文章:

c++ - rapidjson cocos2d-x解析

javascript - 通过ajax从数据库填充表单字段

javascript - 如何用文字推特图片

PHP包含相对路径

Mysql JSON_EXTRACT 在路径中带双引号不起作用

mysql - 如何加入 2 个查询以在 sql 中按位置对用户进行排序

html - 如何使用 angularJs 从 json 值呈现 HTML 标记

php - 如何从多个相似的行mysql结果创建复杂的结构化json

javascript - Highcharts - 休息 1 小时

mysql - 运行缓慢的 SQL 查询