我正在做一个系统,我在一个查询中加入几个表。在大多数情况下,以下类型的查询可以解决问题:
SELECT * FROM A JOIN B ON A.a = B.a JOIN C ON C.a = A.a WHERE A.a = 123;
属性 Aa 是 PK,在 Ba 和 Ca 中用作 FK
在某些情况下,没有相应的 Ba 和 Ca 在其他情况下,只是缺少 Ca。就像现在一样,如果 B 或 CI 中没有相应的键,则得到一个空集。正如预期的那样。
如果只存在 A 并且如果 Aa = Ba 等时添加 B 和 C 属性,则查询会很方便地生成一个仅包含 A 属性的集合。
我想这需要一个特定于 DBMS 的解决方案,而不是一般的 SQL,但我不确定。
如果可能的话,有什么想法应该怎么做?