gpt4 book ai didi

mysql - 对于每个号码,查找​​仅使用该号码发布的广告

转载 作者:行者123 更新时间:2023-11-29 09:29:20 25 4
gpt4 key购买 nike

我的数据库应用包含树表phoneadphone_ad。每个广告都可以通过 phone_ad 表中的一部或多部手机发布。

电话:

---------------------
ph_id | number
---------------------
0 | xxx-xxx-xxxx
1 | yyy-yyy-yyyy
2 | zzz-zzz-zzzz
---------------------

广告:

-----------------------
ad_id | ad_text
-----------------------
11 | text_1
12 | text_2
13 | text_3
-----------------------

电话广告:

------------------
ad_id | ph_id
------------------
11 | 0
12 | 0
12 | 2
13 | 0
14 | 1
14 | 2
------------------

我正在尝试为每个号码(假设 ph_id = 0 的号码)查找仅使用该号码发布的广告。在这种情况下,这意味着广告具有 ad_id = 11 和 ad_id = 13。我已尝试以下查询,但似乎不起作用

SELECT ad_id 
FROM phone_ad
WHERE ph_id = 0 AND NOT EXISTS (SELECT ad_id FROM phone_ad WHERE ph_id <> 0)

最佳答案

你就快到了。您只需将子查询与外部查询关联,以便它们与相同的 ad_id 相关:

SELECT ad_id 
FROM phone_ad p
WHERE
ph_id = 0
AND NOT EXISTS (
SELECT ad_id
FROM phone_ad p1
WHERE
p1.ad_id = p.ad_id -- correlation on ad_id
AND p1.ph_id <> p.ph_id
)

关于mysql - 对于每个号码,查找​​仅使用该号码发布的广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034314/

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