【发布时间】:2021-01-07 17:34:15
【问题描述】:
我对这个问题有点困惑,我有一个名为Member的表格,其结构如下,
+----------+------+-------------+
| MemberID | Name | ActiveState |
+----------+------+-------------+
| 1 | PAUL | 1 |
+----------+------+-------------+
| 2 | JHON | 1 |
+----------+------+-------------+
| 3 | AMBE | 0 |
+----------+------+-------------+
| 4 | NISH | 1 |
+----------+------+-------------+
我还有另一个名为 ServiceProvided 的表。及其结构如下。所有会员提供的数据都将保存在此表中。
+--------------+-------------+------------+
| ServiceProID | Fkserviceid | FkMemberID |
+--------------+-------------+------------+
| 1 | S1 | 1 |
+--------------+-------------+------------+
| 2 | S2 | 1 |
+--------------+-------------+------------+
| 3 | S1 | 2 |
+--------------+-------------+------------+
| 4 | S3 | 2 |
+--------------+-------------+------------+
应用程序可以通过将成员的活动状态更改为0 来软删除成员。我需要获取所有ActiveState = 1members 数据,并且仅当该成员过去提供过任何服务时才需要获取,即使他被删除也应该检索他的数据。我该怎么做。
预期输出是,
ActiveState = 1 和ActiveState = 0 过去只提供过任何服务的会员
【问题讨论】:
-
预期输出是什么?
-
是什么决定了某人过去是否提供过服务? FkMemberID = MemberID 的存在?
-
@jw11432 如果有人提供任何服务,则将其存储在
ServiceProvided表中。FkMemberID = MemberID?是的 -
@Serg 所有
ActiveState = 1 and ActiveState = 0 members who has provided any service in the past
标签: sql sql-server join