[英]Selecting distinct values where input is in another column
考虑下表:
+----+------+--------------+
| id | r_usr_id | s_usr_id |
+----+------+--------------+
| 1 | 1 | 2 |
| 2 | 2 | 1 |
| 2 | 3 | 1 |
| 2 | 3 | 2 |
| 2 | 3 | 1 |
| 2 | 3 | 2 |
+----+------+--------------+
我想提取输入 id 在r
或s
所有唯一id
值。
例如,如果我通过用户 1,我想要的结果是:
+-----+
| ids |
+-----+
| 2 |
| 3 |
+-----+
如果我使用用户 2,结果将是:
+-----+
| ids |
+-----+
| 1 |
| 3 |
+-----+
您可以在这里做的是使用DISTINCT
选择语句和IN
运算符在其中一列中搜索您的 ID,如下所示:
SELECT DISTINCT id
FROM myTable
WHERE @myInput IN (rColumn, sColumn);
根据您的示例数据,我假设您想检索s_usr_id
匹配的所有r_usr_id
,反之亦然?
SELECT r_usr_id FROM theTable WHERE s_usr_id = 1
UNION
SELECT s_usr_id FROM theTable WHERE r_usr_id = 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.