提取表中不可用的数据

时间:2018-09-18 06:55:32

标签: mysql sql

================= Customer Table =============
# customer
Code    Description 
301     Customer 1
302     Customer 2
386     Customer 3
387     Customer 4
390     Customer 5
391     Customer 6
392     Customer 7

我正在使用以下查询

select * from customer
where code not in (310, 350, 301, 302);

从上面的查询中,它将获取下面的数据

Code    Description 
386     Customer 3
387     Customer 4
390     Customer 5
391     Customer 6
392     Customer 7

但实际上我想输出为

310 
350

表示哪些数据不可用,我们将其放在何处。

我不想创建另一个表来实现这一目标。

请分享一些想法。

2 个答案:

答案 0 :(得分:5)

使用子查询创建具有这些值的派生表,然后将其左联接到真实表中。

SELECT t1.code
FROM (SELECT 310 AS code UNION SELECT 350 UNION SELECT 301 UNION SELECT 302) AS t1
LEFT JOIN customer AS c ON c.code = t1.code
WHERE c.code IS NULL

DEMO

答案 1 :(得分:0)

您可以尝试以下查询:

foreach ($answers as $item) {
    $current .= $item . "\n";
    file_put_contents($file, $item);
}

Demo