我有以下结果集:

request_id  |  p_id
66          |  10
66          |  10
66          |  10
66          |  22
66          |  22
76          |  23
76          |  24

我正在尝试选择具有某些组合值的 excludes 记录的行:
request_id   |   product_id
66           |   10
76           |   23

所以输出结果集应该只包含这些记录:
66          |  22
66          |  22
76          |  24

我试着做:
select * from `table`
where request_id NOT IN (66, 76) AND product_id NOT IN (10, 22)

但这给了我空的结果集。

如何仅排除这两个值的组合?

最佳答案

你可以试试下面——

DEMO

select * from `table`
where (request_id, p_id) NOT IN ((66, 10),(76,23))

输出:
request_id  p_id
66          22
66          22
76          24

关于mysql - 选择不在多列mysql中的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56734572/

10-12 17:47