我有3张表A,B和C,如下所示。
所有3个表都有一个共同的CUST_ID
列。表A和B有2个常用列CUST_ID
和A_ID
。我必须显示表格NAME
中的C
,每个Test_ID
以及B
和CUST_ID
来自表格START
的{{1}}计数来自表END
。预期的结果表就像,
我试过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行,如预期结果表所示?
答案 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