欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求一条三表关联查询的MySQL语句

程序员文章站 2022-04-27 12:57:54
...
各位,求一条SQL语句,我自己弄了半天弄出来的总是不对,结果都有重复项,麻烦帮我看下谢谢啊。

三个表,content、relationship、meta,

content是内容,主键cid;
meta表存储分类的相应名称、类型等,主键mid;
relationship是content和meta之间的关系,两个键,cid和对应的mid。

求个SQL就是给一个分类名称,比方说default,查出相关的content内容和meta的内容放入数组。
PS.有点像Wordpress里面的数据库结构,找了半天没找到WP是怎么实现的……弱啊

我试着写了几个,但是都有点不对,JOIN没学好,麻烦大家帮助下,谢谢。

回复内容:

各位,求一条SQL语句,我自己弄了半天弄出来的总是不对,结果都有重复项,麻烦帮我看下谢谢啊。

三个表,content、relationship、meta,

content是内容,主键cid;
meta表存储分类的相应名称、类型等,主键mid;
relationship是content和meta之间的关系,两个键,cid和对应的mid。

求个SQL就是给一个分类名称,比方说default,查出相关的content内容和meta的内容放入数组。
PS.有点像Wordpress里面的数据库结构,找了半天没找到WP是怎么实现的……弱啊

我试着写了几个,但是都有点不对,JOIN没学好,麻烦大家帮助下,谢谢。

搞定了。

SELECT * 
FROM hycms_metas AS m
RIGHT JOIN hycms_relationships AS r ON m.mid = r.mid
JOIN hycms_contents AS c ON r.cid = c.cid
WHERE m.slug =  'default'
AND m.mid IS NOT NULL
相关标签: mysql sql php