从表中的多个值中选择不在数组中的位置
Posted
技术标签:
【中文标题】从表中的多个值中选择不在数组中的位置【英文标题】:select where not in array from multiple values in table 【发布时间】:2016-11-16 17:00:58 【问题描述】:我有一个包含一些值的数组。我想从值不等于数组中的值的表中检索一些东西
$myarray_example = array(1.1,2.5);
表格示例:
id value
1 1.10
2 1.10
3 2.50
4 2.50
5 3.10
6 3.10
所以在这个例子中我只想得到 3.10 的值
查询
SELECT value FROM table
WHERE value NOT IN ($myarray_example)
它返回所有内容。如果我使用 'WHERE value IN..' 那么它什么也不返回。
有人知道为什么会这样吗?
【问题讨论】:
因为根据您的示例数组,这些看起来像string
/varchar
值和 1.1
1.10
和 2.5
2.50
,因此,你得到了每个行。
您好,澄清一下,我正在传递数字。这只是我帖子中的一个错误。数组和表中的数字都是浮点数
【参考方案1】:
$query = " SELECT value FROM table ";
$query .= " WHERE value NOT IN ( ";
$count = 0;
foreach($myarray as $item)
$query .= $item;
if ($count != count($myarray) - 1)
$query .= ",";
$count++;
$query .= ")";
【讨论】:
您好,谢谢。我使用了与您刚才建议的类似的东西,并且有效。以上是关于从表中的多个值中选择不在数组中的位置的主要内容,如果未能解决你的问题,请参考以下文章