【发布时间】:2009-06-05 13:48:08
【问题描述】:
我有两个不同类型的对象的两个列表,它们表示来自两个 sql 查询的数据行。第一个列表包含数据,第二个包含更详细的数据。举个例子:
List1: List2:
1 Alice 1 15
2 Bob 1 19
3 Carol 2 5
4 Dave 2 7
2 20
4 16
我想在 List2 中插入行,以便 List1 中的每个人在 List2 中至少有一行。因此,当 List2 中不存在某个人的行时,我想插入一个具有默认值的行。在示例情况下,我必须为 Carol 插入一行,所以我最终会得到:
List1: List2:
1 Alice 1 15
2 Bob 1 19
3 Carol 2 5
4 Dave 2 7
2 20
3 0
4 16
有没有人有一个聪明、干净和有效的方法来做到这一点?
我知道要将这些表连接在一起,我必须使用外连接,例如在这个Outer Join Sample 中。但我不想要一个新的结果集。我只想将那些缺失的行插入到 List2 中。
注意: 是的,我知道问题\标题有点……等等……但我不知道如何更好地表述它。如果可以的话,请有人修复它。
注意 2: 我不能使用 SQL。我无法在原始表中插入这些行。我正在报告数据,这意味着我不接触任何数据。我刚读出来。数据将用于主从报表,我的问题是,当某个主行不存在详细信息时,您最终会得到一个空白空间。这不好。因此,我想插入包含合理信息的行,以便用户可以看到这里没有可显示的内容。
【问题讨论】: