2013-02-14 52 views
0

所以即时尝试生成表格中的艺术家列表&查找不同表格中与名称不同的所有行中的总匹配。我不能加入表格,因为他们没有加入。使用LIKE从内部查询中找到COUNT,但没有JOIN

当我运行带有预设艺术家名称的内部查询时,它返回正确的计数。然而,作为内部查询运行,它始终返回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; 

回答

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; 
2

尝试:

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