结合sql select和Count

Bas*_*yon 4 sql count

我有两张桌子

A和B.

 A                          B
-----------------         -----------------
a_pk (int)                b_pk (int)
a_name(varchar)           a_pk (int)
                          b_name (varchar) 
Run Code Online (Sandbox Code Playgroud)

我可以写一个查询

SELECT a.a_name, b.b_name
FROM  a LEFT OUTER JOIN b ON a.a_pk = b.a_pk
Run Code Online (Sandbox Code Playgroud)

这将返回一个表a中所有内容的非独特列表,其表b加入了数据.对于列a,将显示重复项,其中不同的b记录共享共同的a_pk列值.

但我想要做的是从表A列a_name获取一个完整的值列表,并添加一个列,该列是表B的连接值的COUNT.

因此,如果a_pk = 1且a_name = test,并且在表b中有5条记录的a_pk值为1,那么我的结果集将是

a_name        b_count
------        -------
test           5
Run Code Online (Sandbox Code Playgroud)

Kun*_*han 10

查询应该是这样的:

SELECT 
    a.a_name, 
    (
        SELECT Count(b.b_pk) 
        FROM b 
        Where b.a_pk = a.a_pk
    ) as b_count 
FROM  a
Run Code Online (Sandbox Code Playgroud)