如何从相关子查询中获取“COUNT”?

时间:2012-06-14 04:38:42

标签: mysql sql

我的查询看起来像..

SELECT id_b FROM id_table
WHERE id_a = ?
AND (
       SELECT COUNT(*) AS rowCount FROM other_table
       WHERE id = id_b
     )  > 0;

如何检索值rowCount?

编辑:这是一个MYSQL数据库

2 个答案:

答案 0 :(得分:1)

Select A..., Z.RowCount
From id_table As A
    Cross Join  (
                Select Count(*) As RowCount
                From other_table
                Where id_b = ?
                ) As Z
Where A.id_a = ?
    And Z.RowCount > 0

修改

鉴于你的编辑,我猜你正在尝试实现类似的东西:

Select A..., Z.RowCount
From id_table As A
    Join    (
            Select id_b, Count(*) As RowCount
            From other_table
            Group By id_b
            ) As Z
        On Z.id_b = A.id_b
Where A.id_a = ?
    And Z.Cnt > 0

答案 1 :(得分:0)

你可以尝试:

SELECT (
       SELECT COUNT(*) AS rowCount FROM other_table
       WHERE id_b = ?
     ) AS rowCount, id_b FROM id_table
WHERE id_a = ?
AND (
       SELECT COUNT(*) AS rowCount FROM other_table
       WHERE id_b = ?
     )  > 0;

这适用于SQL Server