SQL выбрать несколько строк на основе условий двух или более столбцов - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь выбрать несколько строк на основе 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 (...)

Но не в состоянии это сделать. Есть ли способ выбрать несколько строк на основе условий сопоставления для нескольких столбцов?

1 Ответ

0 голосов
/ 05 июля 2018

Вы пытаетесь использовать кортежи с 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) )

Однако могут быть и другие способы достижения вашей конечной цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...