這是因爲外部聯接年齡組是不是也是一個外連接到任何你的其他 組是 - 你只保證有每個數據集各年齡組中的一個,而不是按各年齡組的一個[其他組]。
因此,例如,如果您的其他組爲Region,則需要從年齡段表到地區表的笛卡爾/交叉連接(以便您可以獲得年齡範圍和地區的所有可能組合)到你的數據集的其餘部分。
編輯 - 基於的評論,類似下面的查詢應該工作:
select date_helper.date_description, c.case_number, e.event_number
from
(select 0 range_start, 11 range_end, '0-10 days' date_description from dual union
select 11, 21, '11-20 days' from dual union
select 21, 31, '21-30 days' from dual union
select 31, 99999, '31+ days' from dual) date_helper
cross join case_table c
left outer join event_table e
on e.event_date <= date_helper.range_start*-1 + sysdate
and e.event_date > date_helper.range_end*-1 + sysdate
and c.case_number = e.case_number
(假設它是一個需要分組到桶中的活動日期。)
只包括分組方案在瑞奇集團的單行是不尋常的。我想知道爲什麼你需要它 - 也許會有線索。另外,看看有沒有新組的Crystal生成的SQL - 查看是否有任何差異可以解釋缺失的行。 – Ray 2010-10-22 21:49:53