在连接查询中过滤

时间:2015-06-17 16:17:09

标签: crystal-reports

使用Crystal报告版本14,MS sql server 2008

我正在加入两个表,我需要在连接中进行过滤,所以如果其中一个表中存在某个值,我想加入该记录,如果它不存在,我想要一个空 - 记录。即:

select * from sample left outer join test
on(sample.sample_number=test.sample_number and test.name='PREP')

我可以在Sql server studio中运行它并获得我想要的内容

我在水晶报道中可以获得的是

select * from sample left outer join test   
on(sample.sample_number=test.sample_number) 
where test.name='PREP'

在后一种情况下,将删除test.name ='PREP'不存在的行,如果有样本没有test.name ='PREP',则将删除这些样本。

我有什么方法可以在CR 14中做到这一点吗?

虚拟表:

样品
sample_number,名
1,A
2,B
3,C

测试
sample_number,名
1,PREP
1,有事
2,有事
3,SOMETHING_ELSE
3,PREP

我想要的是什么:

1,A,1,PREP
2,B,NULL,NULL
3,C,3,PREP

(当然表格中有更多字段和选择哪些字段,但这应该说明我想要的内容)

我知道我可以直接在水晶中制作视图和查询,但如果可能的话,我会避免这样做。

1 个答案:

答案 0 :(得分:1)

Bah,发现它:

数据库专家 - 添加表,选择数据源,添加命令。然后可以添加自定义sql。