1

我想在结果集中返回一个计数值。此计数值使用与主查询不同的条件。是否可以使用子查询来实现这一点,即在单个查询中?

SELECT ID, DESC, 
(SELECT COUNT(*) FROM TABLE1 WHERE TABLE1.ID=ID AND STATUS_ID=2) 
COUNT FROM TABLE1 WHERE STATUS_ID=6
4

1 回答 1

0

是的。

但是,如果您在查询/子查询中多次使用同一个表,则应使用不同的别名,以明确您选择或比较的具体内容

SELECT t1.ID, t1.DESC, 
  ( SELECT COUNT(*)
    FROM TABLE1 t2
    WHERE t1.ID=t2.ID AND t2.STATUS_ID=2) COUNT 
FROM TABLE1 t1
WHERE t1.STATUS_ID=6
于 2013-01-17T12:11:19.573 回答