gpt4 book ai didi

MySQL - 将 OR 更改为 AND

转载 作者:行者123 更新时间:2023-11-29 04:06:17 24 4
gpt4 key购买 nike

假设我有以下查询:

SELECT Ads.AdId 
FROM Ads
, AdsAmenities
WHERE AdsAmenities.amenities_AmenityId IN (2, 18, 1)
AND Ads.AdId = AdsAmenities.ads_AdId

此查询从 Ads 表中选择每个 AdId,其中至少一个以下三个便利设施 (2, 18, 1)。 AdsAmenities 表就是其中一个,我在其中存储了 AdsAmenities 之间的关系。我该如何更改此查询,使其只返回具有所有枚举便利设施 ID 的 AdId?

最佳答案

你可以尝试:

SELECT Ads.AdId 
FROM Ads
JOIN AdsAmenities ON Ads.AdId = AdsAmenities.ads_AdId
WHERE AdsAmenities.amenities_AmenityId IN (2, 18, 1)
GROUP BY Ads.AdId
HAVING COUNT(distinct AdsAmenities.amenities_AmenityId) = 3

如果 AdsAmenities.amenities_AmenityId 值是唯一的,您可以跳过 distinct 部分。

关于MySQL - 将 OR 更改为 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37728089/

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