【发布时间】:2020-03-18 21:33:07
【问题描述】:
我有一张简单的桌子
**targeted_url_redirect targeted_countries msg_type non_targeted_url**
http://new.botweet.com india,nepal,philippines NEW http://twisend.com
http://expapers.com United States,Canada OLD http://all.twisend.com
https://tweeasy.com india,england OLD http://all.twisend.com
我在我的网站followerise.com 上收到流量,我想根据上表中定义的国家/地区将用户重定向到特定网址。我可以编写查询来获取来自目标国家/地区的用户的行,这些目标存储在我的数据库中。但是如果targeted_countries 条件不返回任何行,我正在寻找一种解决方案来获取所有行。
我在下面写了查询。
SELECT * FROM tweeasy_website_redirection
WHERE message_type='OLD'
AND targeted_countries LIKE '%@country%'
如果访问者来自india,england,United States,Canada 国家/地区,则此查询会为我提供所需的行
但如果用户来自targeted_countries 列中未指定的国家/地区,我希望获取所有行(第 2 行和第 3 行)。
如果我需要将此表重组为 2 个或更多表以获得所需的结果,请告诉我。
【问题讨论】:
-
您应该修改架构并且不要存储逗号分隔的列表。见"Is storing a delimited list in a database column really that bad? "。
标签: mysql sql select where-clause