发表于: 2017-09-27 22:20:58

1 732


今日完成:

1、有两个不同的表(类),他们是一对多关系,通过 其中一张表中的 id 主键字段关联。

现在欲通过一个表(类)的某个String类型的字段(模糊查找)来匹配到另一个表里的数据。



例如,任务(task)表,

id   task_name  subject_id


科目(subject)表,

id  subject_name  



要通过“subject_name”字段来查找对应的 task,我想是否也就两种办法,


一种是连表查询,sql为

select id from task T join subject S on T.subject_id = S.id where S.subject_name like "%语文%";

  

另一种,sql为

select id from subject where subject_name like "%语文%";

select id from task where subject_id in (id,id,id...);


如果有更多的类呢?

科目(subject):id  subject_name  

专题(lesson):id   lesson_name    subject_id    

课程(period):id   period_name   lesson_id    subject_id    

任务(task):   id    task_name    period_id   lesson_id   subject_id 

如上图,现在的需求是通过 subject_name,lesson_name,period_name 多个搜索条件的叠加(模糊查询)来查找 Task。


如果用连表查询,

select id from task T join Period P on T.period_id = P.id  join Lesson L on T.lesson_id = L.id  join  subject S on  T.subject_id = S.id  where P.period_name like "%小说鉴赏%"  and  L.lesson_name like "%文学%" and  S.subject_name like "%语文%";


如果用单句sql查询,是否是这样的?

select id from subject where subject_name like "%语文%";

select id from lesson where lesson_name like "%文学%";

select id from period where period_name like "%小说鉴赏%";

select id from task where subject_id in (id...) and lesson_id in(id...)  and  period_id  in  (id...);


 我在逗你学后台的任务搜索里,用了单句sql查询,


明日计划:

1、前端项目的部署。

首页的专题课程任务各接口调试。配合金超张帆大家齐心完成项目。


遇到的问题:


收获:






部署完 academy-pc-web 并配置了nginx后,nginx 502 bad gateway 错误。

检查错误





返回列表 返回列表
评论

    分享到