mysql - 用于在表中搜索字符串的 SQL 查询?

标签 mysql sql database

您好,我想在存储在 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 - 用于在表中搜索字符串的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36045696/

相关文章:

php - 是否有更动态的方式来清理 ORDER BY

php - php和mysql中最大数量的目的

sql - 规范化逻辑层次结构的度量总和

mysql - 多个 MySQL DATETIME 列

MySql "No Database selected",尽管是完全限定名称

Mysql 查询优化 - 50k+ 行

sql - Oracle sql查询Order By给出不同的结果

java - SQLSyntaxErrorException : Table/View 'BUYER' does not exist. 缺少什么?

ruby - 从文件中的数据构建 SQLite 数据库的最有效方法是什么?

python - Django Q 在标题中查找列表中的字符串返回重复项