0

これに対する答えはわかっていると思いますが、とにかくコミュニティに尋ねたいと思います。

次の 2 つのテーブルを想像してください。

表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」を追加するのは非常に面倒で反復的です。

質問は次のとおりです。

データベースに対して行われるすべてのクエリに対して、この種の「グローバル条件」を強制することはできますか? 他の誰かがこれについて疑問に思ったことはありますか?

4

1 に答える 1

2

を作成することで「グローバル条件」をシミュレートできますがVIEW、それ以外の場合は... MySQLにはそのようなものはありません。

于 2012-10-26T15:57:32.553 に答える