bw_forms_field表结构
id | name |
1 | 姓名 |
2 | 内容简介 |
bw_forms_submit表结构
id | title |
1 | 这是一个submit |
2 | 我就是个submit |
bw_forms_data表结构
id | submit_id | field_id | value |
1 | 1 | 1 | 舞蹈者 |
2 | 1 | 2 | 这是一个内容啊~~很长很长的那种 |
3 | 2 | 1 | 舞蹈者 |
4 | 2 | 2 | 没有东西啊~~~ |
他们之间的关系,我想看表结构已经比较清楚了~~
现在有一个需求,想根据“姓名(1)”等于“舞蹈者”且,“内容简介(2)”包含“内容”这个词的submit筛选出来~~不重复。
突然不知道怎么写SQL了~~~有大神知道怎么解决不!
按照上面的意思,最终得到的应该是 submit_id = 1 的记录 符合
“姓名(1)”等于“舞蹈者”且,“内容简介(2)”包含“内容”这个词
这个条件
其实我推荐另一种思路:进行两次简单可复用的sql查询,然后在你的php程序里对结果取交集。
PS:对于复杂逻辑,务必将操作置后到程序里面处理,不仅提升了sql的性能,也让sql易于维护。
有时候仅用一条大sql就查出结果并不是好事,看一个让我印象深刻的失败案例:
https://www.oschina.net/question/245286_2243708