我正在尝试选择基于3列匹配特定条件的多个行。对于单个搜索,我执行以下操作:
SELECT user_id
FROM users_to_users
WHERE user_id = '1' AND contact_user_id = '9' AND contact_blocked = 1我想提交一组值来返回多行。
所以我的价值观是:
('1','9',1),('2,'9',1),('3','9',1)等...
并为匹配的行返回user_id。本质上,我试图查看哪些用户已经阻止了用户'9‘,这样我就可以只将未被阻止的用户添加到下一条语句中。
由于我对SQL非常不熟悉,所以我认为可能会用到以下几点:
SELECT user_id
FROM users_to_users
WHERE (user_id, contact_user_id, contact_blocked) VALUES (...)但无法做到这一点。有没有办法根据多列的匹配条件来选择多行?
发布于 2018-07-06 04:52:27
您是否正在尝试将元组与in结合使用?如果是这样的话,这是可行的:
SELECT user_id
FROM users_to_users
WHERE (user_id, contact_user_id, contact_blocked) in ( (1, 9, 1), (2, 9, 1), (3, 9, 1) )然而,可能还有其他方法来实现你的最终目标。
https://stackoverflow.com/questions/51199697
复制相似问题