![](/img/trans.png)
[英]SQL IN operator with alias selector not working only return first match
[英]SQL : Match IN operator with anything
我正在尝试建立一个动态查询。
这工作正常:
$qstring="10000, 10001, 10003, 10005";
SELECT *
FROM orders
WHERE order_id in ($qstring);
当我没有要匹配和选择的数据时,这也可以正常工作。
$qstring="";
SELECT *
FROM orders
WHERE order_id in ($qstring);
是否存在以下类似内容以匹配任何数据? 我检查了SQL的模式匹配,但没有发现可以匹配所有内容的内容。
$qstring="*";
SELECT *
FROM orders
WHERE order_id in ($qstring);
有什么提示吗? 谢谢!
因此,您需要进行查询:
SELECT *
FROM orders
WHERE order_id in ($qstring);
如果在@qstring
参数中没有传递任何值,则工作@qstring
。 在这种情况下,请尝试以下操作:
SELECT * FROM orders
WHERE ($qstring <> '*' AND order_id in ($qstring));
如果要匹配所有内容,请使用不带where子句的select。
SELECT * FROM orders
如果您由于某种奇怪的原因而被迫使用您描述的结构,那么...
$qstring="SELECT order_id FROM orders";
如果您需要所有内容,则不应有WHERE IN子句。
检查您的$qstring
变量,仅WHERE order_id in ($qstring);
附加WHERE order_id in ($qstring);
必要时
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.