Mysql 如果一个或另一个字段或两个字段匹配,则获取行
我需要按我具有以下逻辑的位置获取促销:Mysql 如果一个或另一个字段或两个字段匹配,则获取行,mysql,Mysql,我需要按我具有以下逻辑的位置获取促销: City = Oslo, Country = No : True City = '', Country = No : True City = Bergen, Country = No : False 到目前为止,我的疑问是: SELECT * FROM promotion WHERE date_start <= DATE_ADD(CURDATE(), INTERVAL 14 DAY) AND date_end >= CURDATE
City = Oslo, Country = No : True
City = '', Country = No : True
City = Bergen, Country = No : False
到目前为止,我的疑问是:
SELECT *
FROM promotion
WHERE date_start <= DATE_ADD(CURDATE(), INTERVAL 14 DAY)
AND date_end >= CURDATE()
AND fk_countryID = 'NO'
order by date_start ASC
选择*
晋升
其中date_start=CURDATE()
而fk_countryID='否'
按日期订购\u开始ASC
这将返回5行。-一旦城市空白。
-一个城市是卑尔根 想要的结果:4行,其中一个城市为空 我也试过:
SELECT id, name, city, fk_countryID, date_start, date_end
FROM promotion
WHERE date_start <= DATE_ADD(CURDATE(), INTERVAL 14 DAY)
AND date_end >= CURDATE()
AND city = '' || city = 'Oslo'
AND fk_countryID = 'NO'
order by date_end ASC
选择id、姓名、城市、fk\U国家id、开始日期、结束日期
晋升
其中date_start=CURDATE()
城市=''| |城市='奥斯陆'
而fk_countryID='否'
按日期下单\u结束ASC
这会返回城市为空或“奥斯陆”且国家id为“否”的所有行,但也会返回日期限制之外的行
我怎样才能做到这一点?感谢您的帮助。我最终找到了答案:
SELECT id, name, city, fk_countryID, date_start, date_end
FROM promotion
WHERE date_start <= DATE_ADD(CURDATE(), INTERVAL 14 DAY)
AND date_end >= CURDATE()
AND city IN ('','Oslo')
AND fk_countryID = 'NO'
order by date_end ASC
选择id、姓名、城市、fk\U国家id、开始日期、结束日期
晋升
其中date_start=CURDATE()
和奥斯陆的城市
而fk_countryID='否'
按日期下单\u结束ASC
如果您找到了答案,请将其作为正确答案张贴在下面。