有and 有OR的依据几个字段生成SQL语句
程序员文章站
2024-01-27 19:58:10
...
有and 有OR的根据几个字段生成SQL语句
有如下图的数据表信息,有什么好的方法把它们组合成一条SQL?如果全是and 的或者全是or的,这方法好办,可是两个同时都有的,怎么办呢?
全是AND 或OR的话
------解决方案--------------------
有如下图的数据表信息,有什么好的方法把它们组合成一条SQL?如果全是and 的或者全是or的,这方法好办,可是两个同时都有的,怎么办呢?
全是AND 或OR的话
- PHP code
$sql = "select * from sk_cvfilter where cvid=58 and columnname!=''"; $query = mysql_query($sql); $sql = ''; while($row = mysql_fetch_assoc($query)){ if($row['comparator']=='eq'){$comparator="=";} else{$comparator=$row['comparator'];} $sql .=$row['columnname'].$comparator."'".$row['value']."' ".$row['andor'].' '; }
------解决方案--------------------
- SQL code
select * from sk_cvfilter where cvid=58 and columnname!='' and andor='and' or andor='or'
------解决方案--------------------
你的这个记录有问题,为什么呢?
例如出现一个 (a = 1 or (b=2 and b=3)),这个时候,你是怎么记录的?
我猜是这样的
columnname comparator value andor
a eq 1 or
b eq 2 and
c eq 3
这个时候问题出现了,假如你不知道上面的那个关系式(a = 1 or (b=2 and b=3)),
如果只从结构看的话,你是认为
(a = 1 or b =2 ) and b = 3
还是
a = 1 or (b=2 and b=3)
上述问题不考虑,所有or为一个条件和其他条件and的写法
- PHP code
------解决方案--------------------
- PHP code
推荐阅读
-
有and 有OR的依据几个字段生成SQL语句
-
linux下 PHP 7 Laravel 使用unique做validation的时候生成SQL语句有问题
-
请问新建字段时候语句`aaa` varchar(11) NOT NULL,中的NOT NULL有什么作用呢?
-
有and 有OR的依据几个字段生成SQL语句
-
请教新建字段时候语句`aaa` varchar(11) NOT NULL,中的NOT NULL有什么作用呢
-
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
-
请教新建字段时候语句`aaa` varchar(11) NOT NULL,中的NOT NULL有什么作用呢
-
数据表名所变(有规律的多了一个相同的前缀),系统一定要修改sql语句吗?
-
写了一个连接数据库的通用类,SQL语句执行有有关问题
-
腾讯面试:一条SQL语句执行得很慢的原因有哪些?---不看后悔系列(推荐)