【发布时间】:2014-07-09 04:58:58
【问题描述】:
我有一个带有 Tunes 表的音乐数据库。每个 Tunes 记录都包含一个 ArtistID 和 Rating。
我想要做的是检索所有唯一的 ArtistID 字段(很简单)加上一列,表明每个艺术家的曲调的一些评级值是非零的。
我可以进行查询以返回 0 或 1,以确定是否有任何 Artists 曲调未被评级如下:
SELECT COUNT() FROM (
SELECT ID FROM Tune WHERE ArtistID=a AND Rating < 1 LIMIT 1
)
上述查询将返回“SomeUnrated”真或假(1 或 0)值。
而且.. 我可以进行查询以返回 Tunes 表中的所有唯一艺术家 ID:
SELECT DISTINCT Artist.ID, Artist.Name
FROM Artist JOIN Tune ON Artist.ID=Tune.ArtistID
如何组合这两个查询,以便我得到如下值列表:
Artist.ID Artist.Name SomeUnrated
我正在使用 SQLite。这是“相关”子查询的示例吗?
【问题讨论】:
标签: sql sqlite subquery correlated-subquery