我有实体表A,物品表B和实体-物品表C,以及它们关联的配置值。我想编写一个视图,返回每个实体+物品组合的行,并在存在表C的情况下使用其数据。此外,如果表C中有不在表B中的物品,我也希望将其包含在内。
例如:
表A 实体1 实体2
表B 项X 项Y 项Z
表C 实体1 项X True 实体1 项Y False 实体2 项X False 实体2 项J False 所需结果表: 实体1 项X True 实体1 项Y False 实体1 项Z Null 实体2 项X False 实体2 项Y Null 实体2 项Z Null 实体2 项J False 对于这个问题,您可以尝试使用以下SQL查询语句:
SELECT A.Entity, B.Item, C.Value FROM A CROSS JOIN B LEFT JOIN C ON A.Entity=C.Entity AND B.Item=C.Item
这会返回所有实体和物品的组合,包括那些在表C中不存在的物品,空值表示这些物品没有配置值。
例如:
表A 实体1 实体2
表B 项X 项Y 项Z
表C 实体1 项X True 实体1 项Y False 实体2 项X False 实体2 项J False 所需结果表: 实体1 项X True 实体1 项Y False 实体1 项Z Null 实体2 项X False 实体2 项Y Null 实体2 项Z Null 实体2 项J False 对于这个问题,您可以尝试使用以下SQL查询语句:
SELECT A.Entity, B.Item, C.Value FROM A CROSS JOIN B LEFT JOIN C ON A.Entity=C.Entity AND B.Item=C.Item
这会返回所有实体和物品的组合,包括那些在表C中不存在的物品,空值表示这些物品没有配置值。