MySQL搜索(轻松任务)

时间:2016-03-11 12:06:04

标签: mysql database

我想做这样的事情:

SELECT a.titulo, b.nome
FROM fa_album a, fa_artista b
WHERE  a.titulo LIKE '%I Love you%'
Group BY a.titulo;

但是我必须搜索有 ATLEAST 2张专辑的艺术家的名字,这些专辑包含我爱你的歌曲歌词

1 个答案:

答案 0 :(得分:1)

对表中的列名做出一些假设,如下所示。有一个子查询,获取具有所需标题的艺术家列表,并检查该计数是否大于或等于2. Jion指向相册列表以获取相册的详细信息和名称列表

SELECT a.titulo, sub0.nome
FROM fa_album a
INNER JOIN
(
    SELECT b.id, b.nome, COUNT(a.titulo) AS title_count
    FROM fa_album a
    INNER JOIN fa_artista b
    WHERE  a.titulo LIKE '%I Love you%'
    GROUP BY b.id, b.nome
    HAVING title_count >= 2
) sub0
ON a.artist_id = sub0.id
WHERE  a.titulo LIKE '%I Love you%'