这是一个时髦的问题,我知道这一点。也许这就是因为我真的很累。
现在,不要责怪设计 - 它有缺陷,但我无能为力,好吗?
来自positionarticles的计数加上位置中 的位置。
真的没有比这完全愚蠢更好的方法吗?:
SELECT SUM(row)
FROM
(
SELECT COUNT(*) row
FROM PA
UNION
SELECT COUNT(*)
FROM P
WHERE ID NOT IN
(
SELECT P_ID
FROM PA
)
) as rowcounter
示例数据
表P:
ID Name
1 A01
2 A03
3 B01 *
4 B02 *
表PA:
ID P_ID A_ID
1 1 201 *
2 1 202 *
3 1 203 *
4 2 205 *
返回的计数是6 => PA中的4行+ 2行(PA中不存在P_ID)。计算的行是星号(*)。
答案 0 :(得分:0)
试试这个:
SELECT P.ID, COUNT(PA.ID) noOfArticles
FROM P
LEFT JOIN PA ON P.ID = PA.P_ID
GROUP BY P.ID