我想我知道这个问题的答案,但我还是想问问社区。
想象两个表:
表A
ID | Col1 | isActive
1 "Some Data1" 1
2 "Some Data2" 1
3 "Some Data3" 0
4 "Some Data4" 1
表B
ID | TableA_ID | isActive
1 1 1
4 1 1
7 3 1
8 4 1
以及以下查询:
SELECT A.COL1
FROM TableB as B
JOIN TableA as A
ON A.ID = B.TableA_ID
WHERE b.ID in (1,4,7);
这将返回以下结果:
Col1
"Some Data1"
"Some Data1"
"Some Data3"
但我想要的是:
Col1
"Some Data1"
"Some Data1"
我不想在每个联接和每个 where 子句中添加“WHERE isActive = 1”条件。像许多其他人一样,我们不喜欢删除记录的想法。但是,在每个查询中添加“WHERE isActive = 1”是非常乏味和重复的。
所以问题是:
我可以对对我的数据库进行的所有查询强制执行这种“全局条件”吗?有没有人想过这个?