0

首先为“ ”道歉,它是水晶报表的一部分。

我有这个查询,它是由其他人编写的,我需要添加另一个表,但如果添加的表有更多数据行,我不希望值重复。

原始查询

select 
        "t1"."ID",
        "t4"."CURR",
        "t3"."TIME",
        "t4"."CASE",
        "t5"."CASE_TYPE"

from            
                "db"."t1" "t1"
full outer join "db"."t2" "t2" on "t1"."id"="t2"."id"
full outer join "db"."t3" "t3" on "t1"."id"="t3"."id"
full outer join "db"."t4" "t4" on "t1"."curr_name"="t4"."curr_id"
full outer join "db"."t5" "t5" on "t2"."cat"="t5"."cat"

这是现在的样子
exp1

我需要加入另一个表t6,它是id= to t1id, 并添加字段 new1, new2

但如果 t6.new1 和 new2 有更多数据,我希望 Current,Time,Case,Cause_Type 为空。
例子
img2

如何在不重复红色和删除线值的情况下加入 t6?

4

2 回答 2

0

Mogli 试试这个:我猜 t6 字段是一个表,根据您上面显示的内容,它包含基于 1 个 id# 的多条记录。

在 CR 数据库中,添加表,然后添加新表,在链接下将 t6.id 连接到 t1.id,并在报告本身上使用左外连接(从 t1 到 t6)创建一个使用 t1.id 的组,然后添加第二组,其中包含您要从 t6 使用的字段。

如果您正在寻找 t6 上的特定记录,请查看表中是否有一行包含“当前”ID,并在表之间添加一个连接(您可以删除 t1.id 之间的连接初始连接& t6.id)

于 2012-09-28T03:15:56.913 回答
0
SELECT "ID"
,"CURR"
,"TIME"
,"CASE"
,"CASE_TYPE"
,New1
,New2
FROM (
    SELECT "t1"."ID"
    ,"t4"."CURR"
    ,"t3"."TIME"
    ,"t4"."CASE"
    ,"t5"."CASE_TYPE"
    ,SUM("New1") OVER (
        PARTTION BY "t1"."ID" ORDER BY "t1"."ID"
        ) AS New1
    ,SUM("New2") OVER (
        PARTTION BY "t1"."ID" ORDER BY "t1"."ID"
        ) AS New2
    ,ROW_NUMBER() OVER (
        PARTTION BY "t1"."ID" ORDER BY "t1"."ID"
        ) AS RowNum
    FROM "db"."t1" "t1"
    FULL OUTER JOIN "db"."t2" "t2"
        ON "t1"."id" = "t2"."id"
    FULL OUTER JOIN "db"."t3" "t3"
        ON "t1"."id" = "t3"."id"
    FULL OUTER JOIN "db"."t4" "t4"
        ON "t1"."curr_name" = "t4"."curr_id"
    FULL OUTER JOIN "db"."t5" "t5"
        ON "t2"."cat" = "t5"."cat"
    FULL OUTER JOIN "db"."t6" "t6"
        ON "t6"."id" = "t1"."id"
    ) Tb1
WHERE RowNum = 1
于 2012-09-28T05:31:03.873 回答