gpt4 book ai didi

Mysql 查询没有给出一张表的所有结果

转载 作者:行者123 更新时间:2023-11-29 13:00:09 24 4
gpt4 key购买 nike

我有 2 张 table :

表1:

genreartismap:
id - pk
artistid
genreid
val - this column has default value 1

表2:

genre:
id - pk
name

现在我想做的是根据genreartismap.artistid列表获取不同的genre.names。

例如:

我有genreartismap.artistid's = 7,4,6​​,9,10,8

我有与此列表艺术家相关联的genreartismap.genreid = 4,5,6

我试图得到以下结果:

genreid genrename   count
4 Electronica 2
5 Punk 4
6 EDM 3

我编写了以下查询:

SELECT  `genreartistmap`.genreid AS id,  `genre`.name AS name, SUM(  `genreartistmap`.val ) AS val
FROM `genreartistmap`
LEFT JOIN `genre` ON `genreartistmap`.artistid
IN ( ids )
GROUP BY genreid

最佳答案

我认为您在错误的列上进行join。我希望genreartistmap.genreid =genre.id:

SELECT gam.genreid AS id,  g.name AS name, SUM(gam.val ) AS val
FROM `genreartistmap` gam JOIN
`genre` g
ON gam.genreid = g.id
GROUP BY gam.genreid;

我还认为内连接足以满足此查询并引入表别名来简化它。

关于Mysql 查询没有给出一张表的所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23462677/

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