如何解决用MySQL提取多个表
| 好的,我有多个表,我试图在这些表上基本形成一个SQL字符串。表示例: 表格1CardID CardName SetID Rarity
1 Card #1 1 1
2 Card #2 1 2
3 Card #3 1 2
4 Card #4 2 2
表2
SetID SetName BID
1 Set #1 1
2 Set #2 2
表3
BID BName
1 BName #1
2 BName #2
我想要的是一个SQL字符串,它将对一组卡片进行计数并显示该表中每张卡片的稀有性。我想要类似以下内容的输出:
SetID,SetName,BName,TotalCards,稀有度总计1,稀有度总计2
因此输出将类似于返回列:
1,Set #1,BName #1,3,1,2
2,Set #2,BName #2,1
解决方法
SELECT
c.SetID,s.SetName,b.BName,count(*) as TotalCards,sum(if(c.rarity = 1,1,0) as Total_of_Rarity_1,sum(if(c.rarity = 2,0) as Total_of_Rarity_2
FROM card c
INNER JOIN `set` s ON (s.SetID = c.SetID)
INNER JOIN b on (b.BID = s.BID)
GROUP BY c.SetID
链接:http://dev.mysql.com/doc/refman/5.5/en/join.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。