具有行计数

时间:2016-04-08 05:23:07

标签: sql sql-server join count inner-join

我有3张表A,B和C,如下所示。

A B C

所有3个表都有一个共同的CUST_ID列。表A和B有2个常用列CUST_IDA_ID。我必须显示表格NAME中的C,每个Test_ID以及BCUST_ID来自表格START的{​​{1}}计数来自表END。预期的结果表就像,

R

我试过A喜欢,

inner join

但它总共给出了7行。如何显示东select C.Name ,A.Start,A.[End] from C inner join B on C.CUST_ID = B.CUST_ID inner join A on A.A_ID = B.A_ID and A.CUST_ID = B.CUST_ID 的{​​{1}}计数并仅显示4行,如预期结果表所示?

2 个答案:

答案 0 :(得分:3)

试试这个

report_event

答案 1 :(得分:1)

您需要使用子查询来获取表B中的测试计数,并加入此表而不是直接加入B

SELECT C.NAME, t.Test_COUNT, A.START, A.END
FROM C
INNER JOIN A
    ON C.CUST_ID = A.CUST_ID
INNER JOIN
(
    SELECT A_ID, COUNT(*) AS Test_COUNT
    FROM B
    GROUP BY A_ID
) t
    ON t.A_ID = A.A_ID