gpt4 book ai didi

MySQL JOIN 带条件查询

转载 作者:行者123 更新时间:2023-11-30 00:14:51 29 4
gpt4 key购买 nike

当前数据库结构包括:

  1. 国家/地区(country_id、country_name)
  2. 城镇(town_id、country_id、town_name)
  3. 区域(area_id、town_id、area_name)
  4. 车站(station_id、area_id、station_name)
  5. 优惠(offer_id、offer_name、电台)

“优惠”表中的电台列包括格式如下的电台 ID:

|station_id_1|station_id_2|station_id_4|......|

我对 JOINED 查询非常熟悉,但在这种情况下,很难创建一个可以从国家/地区或实际上有优惠的城镇进行 COUNT(country_id) 计算的单个查询...我如何从优惠表中加入站列与实际的电台以便随后加入较低级别的表?这可能吗?

提前谢谢

最佳答案

以下查询将为您提供提供优惠的国家/地区的不同数量。 OffersStations 表使用 LIKE 运算符连接,如下所示:

SELECT
COUNT(DISTINCT country_id)
FROM
Offers O
INNER JOIN Stations S
ON O.stations LIKE '%'||S.station_id||'%'
INNER JOIN Areas A
ON S.area_id = A.area_id
INNER JOIN Towns T
ON A.town_id = T.town_id
INNER JOIN Countries C
ON T.country_id = C.country_id;

但是,正如 Peter 建议的那样,不建议以串联格式存储 station_id 数据。

关于MySQL JOIN 带条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741366/

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