嗨,我想在存储在mysql数据库中的表中搜索特定的字符串.表格结构如下: –
+--------------------------------------------------------------------------+
| day | 9-10 | 10-11 | 11-12 | 12-1 | 1-2 | 2-3 | 3-4 |
|---------------------------------------------------------------------------
| Monday | DA6210 | DA6220 | DA6010 | | DA6020 | | |
| Tuesday | DA6210 | DA6010 | DA6220 | | DA6020 | | |
| Wednesday | IA6010 | DA6220 | | | DA6020 | | |
| Thursday | IA6010 | | DA6210 | | GC6210 | | |
| Friday | IA6010 | | DA6010 | | GC6210 | | |
| Saturday | DA6210 | | | | | | |
+--------------------------------------------------------------------------+
我想要搜索当天和所有时间的字符串.对于前者如果当天是星期四并且代码是DA6220,它应该返回空集,因为字符串在星期四的所有时间段都不存在.
我已经创建了一个SQL查询但它没有按预期工作.请提供一种方法来做到这一点.
SQl查询: –
SELECT * from `table` where day='Thursday' AND `9-10`='DA6220' OR `10-11`='DA6220' OR `11-12`='DA6220'
OR `12-1`='DA6220' OR `1-2`='DA6220' OR `2-3`='DA6220' OR `3-4`='DA6220'
解决方法:
SELECT * from `table` where day='Thursday' AND (`9-10`='DA6220' OR `10-11`='DA6220' OR `11-12`='DA6220'
OR `12-1`='DA6220' OR `1-2`='DA6220' OR `2-3`='DA6220' OR `3-4`='DA6220')
看起来你的AND首先被评估.请尝试以上方法
标签:mysql,database,sql
来源: https://codeday.me/bug/20190628/1312287.html