首页 > 解决方案 > T-SQL 查询仅显示一列中的值与另一行中另一列中的值匹配的行

问题描述

用尽了我对 tsql 的有限知识,希望有人能提供帮助?

我有一个表格,其中包含 ID、姓名、关系和互惠关系类型、开始和结束日期等关系数据。

每行都包含关系另一方的互惠 ID。见下文。

从那我想呈现 ID 等于 1234 和 1236 的行。

提前感谢您对此的帮助。

保罗

+------+-------+------------+------------+----------+------------+---------+
| ID   | Name  | Start      | Finish     | Type     | Recip Type | RecipID |
+------+-------+------------+------------+----------+------------+---------+
| 1234 | Joe   | 01/05/2018 |            | Father   | Daughter   | 1235    |
+------+-------+------------+------------+----------+------------+---------+
| 1235 | Emily | 01/05/2018 |            | Daughter | Father     | 1234    |
+------+-------+------------+------------+----------+------------+---------+
| 1236 | Susan | 01/09/2017 | 01/05/2018 | Visitor  | Patient    | 1237    |
+------+-------+------------+------------+----------+------------+---------+
| 1237 | Harry | 01/09/2017 | 01/05/2018 | Patient  | Visitor    | 1236    |
+------+-------+------------+------------+----------+------------+---------+

标签: sql-servertsql

解决方案


您在寻找or

select t.*
from t
where id in (1234, 1236) or recipid in (1234, 1236);

推荐阅读