Azi*_*ima 4 mysql sql where-clause where-in
我有以下结果集:
request_id | p_id
66 | 10
66 | 10
66 | 10
66 | 22
66 | 22
76 | 23
76 | 24
Run Code Online (Sandbox Code Playgroud)
我试图选择excludes记录某些组合值的行:
request_id | product_id
66 | 10
76 | 23
Run Code Online (Sandbox Code Playgroud)
因此,输出结果集应仅包含以下记录:
66 | 22
66 | 22
76 | 24
Run Code Online (Sandbox Code Playgroud)
我试着做:
select * from `table`
where request_id NOT IN (66, 76) AND product_id NOT IN (10, 22)
Run Code Online (Sandbox Code Playgroud)
但这给了我空的结果集。
如何仅排除这两个值的组合?
您可以在下面尝试-
select * from `table`
where (request_id, p_id) NOT IN ((66, 10),(76,23))
Run Code Online (Sandbox Code Playgroud)
输出:
request_id p_id
66 22
66 22
76 24
Run Code Online (Sandbox Code Playgroud)