gpt4 book ai didi

MySQL 统计引用外键的属性

转载 作者:行者123 更新时间:2023-11-30 00:18:39 24 4
gpt4 key购买 nike

我正在编写一个 MySQL 数据库,不幸的是我被指示不要使用外键,并且只会假设外键。至少可以说,这使得该项目变得极其尴尬。不过,我正在尝试找出问题的解决方案。我有一个实体表;该表称为“Sale”,“Sale”保存属性/外键音乐ID或“MID”(INT)。 “MID”是另一个名为“Music”的表的主键,其属性“Artist”(字符串)和“Title”(字符串)分别代表各种歌曲的标题和艺术家。我的问题是,我将如何创建一个查询/函数,该查询/函数将进入销售,提取每行的“MID”值,以便整个“MID”列然后转到“音乐”表,并在每次“艺术家”时相加出现提取的“MID”列的“和“标题”。尽管没有实际的外键,但我必须像有外键一样编写查询,因此我试图避免将提取的“MID”内容存储到单独的表中。我能够编写一个应该提取“MID”的语句,我只是在努力弄清楚如何围绕它包装一个语句,该语句将引用“艺术家”和“标题”的总次数相加。哦,顺便说一句,不同的“MID”值可以具有相同的“艺术家”或“标题”,所以我必须考虑到这一点。

SELECT  SELECT MID FROM Sale 
WHERE SDate<= CURDATE();

此代码从当前日期之前的任何日期提取 MID 值。(这是另一个规定,MID 必须从最早记录的日期到当前日期,这是因为某些销售日期供将来引用,即日期是将来的日期。

最佳答案

使用连接:

SELECT Artist, Title, IFNULL(COUNT(s.MID), 0) SalesCount
FROM Music AS m
LEFT JOIN Sale AS s ON m.ID = s.MID AND SDate <= CURDATE()
GROUP BY Artist, Title

如果这不是您所需要的,请使用示例数据制作一个sqlfiddle,然后发布您想要在问题中获得的结果。你的描述令人困惑。

关于MySQL 统计引用外键的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23438839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com