簡體   English   中英

sql根據兩列或更多列的條件選擇多行

[英]sql select multiple rows based on conditions of two or more columns

我試圖根據匹配特定條件的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 (...)

但是無法做到這一點。 有什么方法可以根據多個列的匹配條件選擇多個行嗎?

您是否正在嘗試使用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) )

但是,可能還有其他方法可以實現您的最終目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM