我有 2 个正在返回的选择:
SELECT_A (COLUMN_A,COLUMN_B, SELECT_A_JOIN_COLUMN)
SELECT_B (COLUMN_A,COLUMN_B, SELECT_B_JOIN_COLUMN)
期望的结果:
Result (COLUMN_A,COLUMN_B,SELECT_A_JOIN_COLUMN,SELECT_B_JOIN_COLUMN)
例子:
SELECT_A
结果:
A B zxc
A B rty
SELECT_B
结果:
A B yui
A B hjk
期望的结果:
A B zxc null
A B rty null
A B null yui
A B null hjk
如何做到这一点?
这几乎就像联合,但我可以通过加入来做到这一点吗?
编辑:
好的。所以让我陈述我的目标。我想让查询返回一个分层树。这是因为 LINQ2Entities 正在为查询生成额外缓慢且效率低下的 sql,其中包含许多导航属性。
所以我首先要实现的是得到树……不知何故。
例子:
我想达到以下结果:
ObjectId | ChildType1Id | ChildType1Field | ChildType2Id | ChildType2Field
1 34 asd null null
1 12 xcv null null
1 5 klk null null
1 null null 6 vbn
1 null null 7 jkh
到目前为止,我得到了 2 个带有左连接的简单选择,这些选择返回了我:
ObjectId | ChildType1Id | ChildType1Field
1 34 asd
1 12 zcv
1 5 klk
和
ObjectId | ChildType2Id | ChildType2Field
1 6 vbn
1 7 jkh
如果我将有更多的儿童类型怎么办?对于每个 childType,我似乎确实需要使用联合。如果我将有 50 列,我需要在 UNION 中说明所有这些列(因为它需要相同数量的列)。我可以避免使用诸如加入之类的所有这些联合来添加我需要的列(下一个子类型列)吗?
3 种不同 childrenTypes 的期望结果:
ObjectId|ChildType1Id|ChildType1Field|ChildType2Id|ChildType2Field|ChildType3Id|ChildType3Field
1 34 asd null null null null
1 12 xcv null null null null
1 5 klk null null null null
1 null null 6 vbn null null
1 null null 7 jkh null null
1 null null null null 5 iop
1 null null null null 9 klp
任何帮助表示赞赏。