【发布时间】:2017-01-29 06:43:08
【问题描述】:
我有两张桌子,TableA 和 TableB
表A
IdA | Date | Description
--- | ---------- | -----------
1 | 2017-01-01 | Sometext1
2 | 2017-01-01 | Sometext2
3 | 2017-01-02 | Sometext3
4 | 2017-01-03 | Sometext4
表B
IdB | IdA | Type
--- | --- | ----
1 | 1 | A
2 | 1 | A
3 | 2 | A
4 | 2 | A
5 | 2 | B
6 | 3 | B
7 | 4 | A
我怎样才能获得这样的价值:
Count(IdA) | Type
---------- | ----
3 | A
我尝试使用 INNER 或 LEFT JOIN 进行编码
SELECT COUNT(tablea.IdA), tableb.Type
FROM tablea INNER JOIN tableb
ON tablea.IdA=tableb.IdA
WHERE tableb.Type='A'
但它总是让我喜欢这样
Count(IdA) | Type
---------- | ----
5 | A
我只想用 TableB 中的 WHERE 子句计算 TableA 行。 有可能做这样的事情吗?
【问题讨论】:
-
您在寻找
COUNT(DISTINCT IdA)吗? -
@shmosel 将其作为答案发布:-)
-
@shmosel。是的,我刚刚尝试了 COUNT(DISTINCT) 并且它有效。感谢您的回复。 :)