gpt4 book ai didi

mysql - 计算具有特定父级的类别中的广告数量

转载 作者:行者123 更新时间:2023-11-29 19:01:57 24 4
gpt4 key购买 nike

我进行了以下设置:
表:带有 ads_id 的广告
表:ads_to_categories,其中 ads_id 与广告相关
表:带有categories_id的类别
表:categories_to_parents,其中categories_id连接到类别
enter image description here

我想计算某个类别中有多少广告。例如,ads_id 0000000070 属于以下类别:categories_id 0000000007

enter image description here

问题是categories_id有多个parent_id,我想知道这个类别中有多少个parent_id为0000000003 enter image description here的广告我尝试了很多东西,我得到了参数 $parent_id 可用和 $categories_id 可用,但不知何故我也得到了其他parent_id 的结果。现在我根本没有查询,我很沮丧并删除了所有内容。

我想知道categories_id 0000000007、parent_id 0000000003 中有多少个广告。我该如何操作?

例如我得到这个:

SELECT count(*) 
FROM ads_to_categories as atc, categories_to_parents ctp
WHERE atc.categories_id = '0000000007'
AND atc.categories_id = ctp.categories_id
AND ctp.parent_id = '0000000003'

这给了我 1 个结果,当我将 ctp.parent_id 更改为 '0000000004' 时,我也得到 1 个命中,但这应该是 0。是否可以通过以下方式获得正确的查询:子查询之类的,或者我应该用 parent_id 扩展 ads_to_categories 吗?

最佳答案

我发现这是不可能的。我最终得到了这个查询:

SELECT count(a.ads_id) as totalAds
FROM ads as a, ads_to_categories as atc, categories_to_parents ctp
WHERE a.ads_id = atc.ads_id
AND atc.categories_id = :categories_id
AND atc.categories_id = ctp.categories_id
AND (a.ads_status = :ads_status_active OR a.ads_status = :ads_status_reserved)
GROUP BY ctp.parent_id
HAVING ctp.parent_id = :parent_id

问题是,当我更改类别时,parent_id 会随之更改,因此始终会匹配。我最终得到了带有parent_id的扩展ads_to_categories表

关于mysql - 计算具有特定父级的类别中的广告数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804999/

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