在没有JOIN的内部查询中使用LIKE查找COUNT

时间:2013-02-14 00:50:59

标签: sql

因此,我试图在表格中生成艺术家列表。查找不同表的所有行中的总匹配,就像名称一样,不精确。我不能加入桌子,因为他们没有col加入。

当我使用预设的艺术家名称运行内部查询时,它会返回正确的计数。 但是,作为内部查询运行时,它总是为计数返回0。

如果有人知道如何使用sql,或者甚至可以做到这一点,那就好奇了。否则我可以通过一些循环来解决它。这是我正在做的一个例子:

SELECT ar.name, 
    (SELECT COUNT(*) FROM audio au WHERE au.artist LIKE('%'+ar.name+'%')) AS count
FROM artist ar
ORDER BY ar.name ASC;

2 个答案:

答案 0 :(得分:2)

尝试:

SELECT ar.name, count(*) as count
FROM artist ar, audio au
WHERE au.artist LIKE('%'+ar.name+'%'))
GROUP BY ar.name

答案 1 :(得分:0)

这是你在寻找什么?

SELECT ar.name, count(*) as count
FROM artist ar, audio au
WHERE (ar.artist like '%'+ar.name+'%')
Group by ar.Name
ORDER BY ar.name ASC;