过滤器和条件

Filter and conditions

我有一个 table 例如客户端的列为 doc_number,我还有一个客户端文档列表,我不知道它们是否存在于客户端 table .

问题是,是否有任何简单的方法来获取此列表中而不是 table 中的所有客户?

我不想使用辅助table,谢谢!

你可以编写自己的函数

CREATE DEFINER=`root`@`localhost` FUNCTION `filter_clients`(InString Varchar(1000)) RETURNS varchar(1000) CHARSET utf8
BEGIN

  # loop to divide string list by comma

  # select for each string segment

  # add result to Outstring.i

RETURN OutString;
END  

稍后用

调用它
SELECT filter_clients('123456, 1234658, 145678') 

我不会那样做并用其他语言划分列表

您可以使用派生的 table:

SELECT * FROM (
  SELECT 2000 AS doc_number
  UNION ALL SELECT 2001
  UNION ALL SELECT 2002
  UNION ALL SELECT 2003
  UNION ALL SELECT 2004
  UNION ALL SELECT 2005
  UNION ALL SELECT 2006
) b
WHERE b.doc_number NOT IN (SELECT doc_number FROM client)

只需打开一个电子表格,然后用文档列表制作 "union all select ..."。