gpt4 book ai didi

mysql - 来自两个不同表的 COUNT

转载 作者:行者123 更新时间:2023-11-30 23:07:49 28 4
gpt4 key购买 nike

这是一个时髦的问题,我知道这一点。也许这都是因为我真的很累。

现在,不要责怪设计 - 它有缺陷,但我无能为力,好吗?

  • 两个表,由一个 id 字段链接。
  • 第一个表包含仓库中的位置(表 P)
  • 第二个表包含存储在仓库中每个位置的元素(表 PA)
  • ALL 仓库中的位置都存在于 P 表中(> 5000 条记录)
  • 每个位置可以包含不止一篇文章
  • P 表中的位置不存在于 PA 表中

positionarticles 中的计数加上 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)。计数的行标有星号 (*)。

最佳答案

试试这个:

SELECT P.ID, COUNT(PA.ID) noOfArticles
FROM P
LEFT JOIN PA ON P.ID = PA.P_ID
GROUP BY P.ID

关于mysql - 来自两个不同表的 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21091664/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com