我有一个像[3004203004213004223]这样的数字列表,还有一个表,所有值都在300000到400000之间(除了300422和300423)。我需要从表中没有的列表中返回第一个值,现在我使用下面的代码,但是它太慢了。
foreach ($notas as $tuple) {
$key = $tuple[0];
$value = $tuple[1];
if ($value) {
$res = $PDO2->query("SELECT DISTINCT Num_Nota FROM itensnfs WHERE Num_Nota='$value'");
$counter_codes = ($res->rowCount());
if($counter_codes == 0){
echo "Value " .$value. " don't exist";
die();
}
}
}
1条答案
按热度按时间uoifb46i1#
可以枚举派生表中的值,然后使用
not exists
和聚合:根据你的数据库,有更整洁的选择
union all
生成派生表。一些数据库支持行构造函数
values()
:mysql是一个值得注意的例外,但是最近的版本支持
values row()
: