我有三个表,一个父级和两个子级,两个子级使用 ID 列与父级有 FK 关系,每个父级行可能有 0 到 n 个子行。我需要生成一个查询,该查询将从所有三个表中生成一个数据结果集。
如果子行不存在,则该表的字段应为空白,否则,这些字段应具有适当的值。
Table A Table B Table C
-------- ------- -------
ID (PK) A_ID (FK) A_ID (FK)
DataA1 DataB1 DataC1
DataA2 DataB2 DataC2
这个查询:
select * from A,B,C where A.ID = B.A_ID and A.ID = C.A_ID
将仅返回 A 中同时存在子行 B 和 C 的行。我想从 A 返回行,其中 A.ID 存在子行 B 或子行 C。如果不存在 B 的行,则 B.DataB1 和 B.DataB2 应该为空或空白,如果不存在 C 的行,则类似。