我正在处理Crystal报表,因此需要始终从数据库中提取该记录的两条记录。但是,我正在将两个字段硬编码到报告中。每次有一条记录时,记录中应有一个包含具有1值和2值的字段的列,每当有1时,应添加另一个字段,写为“ 111211”,而对于具有2值的其他记录,则应添加其他列应显示“ 222122”。我的查询根据条件提取了StudentID,但是每当有一条记录时,都应将一个字段添加到报告中,以创建两个记录,一个记录的值为“ 1”,另一个记录的值为“ 2”。有没有办法在水晶报告中实现这一目标?任何帮助将不胜感激。
StudentID addedField addedFieldTwo
5191205 1 11121
5191205 2 222122
5191215 1 11121
5191215 2 222122
5191891 1 11121
5191891 2 222122
答案 0 :(得分:0)
如果我正确理解了您的问题,则可以使用cross join
来获得结果:
select studentid, addedfield, addedfieldtwo
from yourtable cross join
(select 1 as addedField, 11121 as addedFieldTwo
union all
select 2 as addedField, 222122 as addedFieldTwo
) t
order by studentid, addedfield, addedfieldtwo
这将为每个返回的学生记录创建一个cartesian product
。