Mysql查询从“not in”子句返回值

时间:2014-05-14 06:28:02

标签: mysql sql

假设我有一个csv引用的字符串,如下所示:

'800', '002', '786'

在我的表格中,我有:

 table: user
 id  username
 --  --------
 002 foofoo

如何让mysql返回未找到的值?所以我希望查询返回给我:

'800', '786'

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您有“代码”,则应阅读excel文件中的值。所以你可以形成一个String数组。您可以使用数组中的值进行NOT IN查询。

Java的简化示例

    String [] excelArray;

    while (rowIterator.hasNext()) {
        while(cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            excelArray[counter] = cell.getStringCellValue();
        }
    }

现在,您拥有数据结构中所需的数据。因此,您可以使用NOT IN查询中的值。

    select * from my_table where id not in (myExcelArrayValues);

    if(queryReturnsNull) {
       print("There are no values with id's: " + allMyExcelArrayValues);
    }

答案 1 :(得分:0)

谢谢你们,有时答案只是"你是一个白痴,你不能做你正在做的事情" ...我最终只是循环并检查每个元素......我知道另一种方法可能是创建临时表/外连接,但我的系统不允许我这样做:(

感谢您的快速回复,我将尽力在未来更详细地解释。

非常感谢。