带条件的MySQL JOIN查询

尼克·祖鲁(Nick Zulu)

当前的数据库结构包括:

  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)个国家(或国家/地区)或town_id FROM个实际具有要约的城镇的查询...站,以便随后加入较低级别的表?这可能吗?

先感谢您

约瑟夫·B

以下查询将为您提供报价的不同国家/地区。所述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数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章