MySQL多对多查询怎么弄?一篇文章多个分类

MySQL多对多查询怎么弄?一篇文章多个分类,第1张

中间表应该存着文章表的ID和该文章对应的分类的ID。文章表作为主表,左连接上中间表,再左连接上分类表。文章表作为主表,即使一本书它没有分类,也能查询出这本书。因为一本书会有多个分类,可以使用group by或者去重函数来去掉重复的书。如果查询时想要查出一本书有几个分类,可以使用group_cat()函数把所有分类名称拼接在一起。要查询某一个分类的书时,where 后面分类ID等于要查询的分类ID即可。

select *

from

(select id,sum(money) as mm from a表 group by id) aaa,

(select id,sum(money) as nn from b表 group by id) bbb

where aaa.id=bbb.id and aaa.mm=bbb.nn

-----------------------------

说明:

先用语句,得到aaa,bbb两个临时表,里面是(ID,钱的求和);

然后叠加一个查询,从表aaa,表bbb中,用条件,筛选出需要的记录(ID相等,钱求和相等);mm,nn是我为了字段查看方便,设置的两个临时字段名。

-----------------------------

如果你是用workbench,语句正确执行要写成一行。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6152763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存