【问题标题】:find fields in array not existant in column查找列中不存在的数组中的字段
【发布时间】:2019-04-23 16:15:55
【问题描述】:

我有一组 ISO 代码(“DE”、“AF”...)和一个带有 ISO 列的表“国家”。

现在我需要从我的数组中过滤出 ISO 列中不存在的所有代码。在我看来,这看起来类似于以下伪 SQL:

SELECT * FROM my_array WHERE ("DE", "AF", ...) AS my_array NOT IN country.iso

除了在 PHP(或通常是任何代码)中循环遍历数组之外,还有什么方法可以在普通 SQL 中做到这一点?

【问题讨论】:

  • "array" 不是 MySQL 构造,所以您的问题不清楚。
  • 在这种情况下它是一个 PHP 数组,尽管将逗号分隔的列表直接写入 SQL 就足够了

标签: mysql sql database join select


【解决方案1】:

看来你需要not in

select * from tbale where country.iso  in ('DE','AF')

【讨论】:

  • 这会给我数据库列中所有不匹配的值,而不是数组中的值...
【解决方案2】:

您在寻找NOT IN 吗?正确的语法是:

WHERE country.iso NOT IN ('DE', 'AF', ...) 

【讨论】:

  • 这会给我数据库列中所有不匹配的值,而不是数组中的值...
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 2013-09-17
  • 2016-01-28
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多