我在水晶报告中使用了一些数据。数据是这样的。数据中有一些冗余。唯一的区别是Tran_code
Sales_Rep Tran_code Order# Amt
------------------------------------
Joe 001 1234 100.00
Joe WOC 1234 100.00
Jon 001 5555 50.00
Sue 001 7777 70.00
Sue WOC 7777 70.00
Sue QUE 7777 70.00
如果一个订单只有001
Tran_code
,我们想要显示001
,以及其他列。
但是如果它有其他代码,那么我们不想显示001
即使在Sue的例子中,我们也想显示WOC
和QUE
。
我正在寻找将根据需要呈现给cr的数据的SQL。就冗余而言,我可以在水晶分组中做到这一点。
假设您想要的结果是:
Sales_Rep Tran_code Order# Amt
------------------------------------
<row omitted>
Joe WOC 1234 100.00
Jon 001 5555 50.00
<row omitted>
Sue WOC 7777 70.00
Sue QUE 7777 70.00
试题:
SELECT *
FROM table1 AS t1
WHERE
( Tran_code = '001'
AND 0 = (
SELECT COUNT(*)
FROM table1 AS t2
WHERE t1.Sales_Rep = t2.Sales_Rep
AND t1.Order = t2.Order
AND Tran_code <> '001'))
OR
Tran_code <> '001'
可能有更有效的方法来写它,但我在这里选择明显的