Oracle Sql开发人员输出格式
o/p- 我想要这样Oracle Sql开发人员输出格式,sql,oracle,Sql,Oracle,o/p- 我想要这样 COL1 COL2 COL3 6518 10060152650 534010002 6518 10060152651 534010002 6518 10060152652 534020003 6526 10060153296 534004002 6526 10060153310 534004542 6526 10060153365 533011103 6526 100601
COL1 COL2 COL3
6518 10060152650 534010002
6518 10060152651 534010002
6518 10060152652 534020003
6526 10060153296 534004002
6526 10060153310 534004542
6526 10060153365 533011103
6526 10060153328 534010002
6526 10060153348 534010002
有人能帮我吗 SQL开发人员将显示您选择的行。当您的行包含Col1中的值时,将显示该值。因此,您唯一的解决方案是不选择它,或者在您的示例中:当前面的行已经包含相同的值时,不选择它。别忘了分类
COL1 COL2 COL3
6518 10060152650 534010002
10060152651 534010002
10060152652 534020003
6526 10060153296 534004002
10060153310 534004542
10060153365 533011103
10060153328 534010002
10060153348 534010002
这将对您有用:
select
case when col1 = lag(col1) over (order by col1, col2, col3) then
null
else
col1
end as colx
, col2
, col3
from
(
select col1,col2,col3 from tab1 union all
select col1,col2,col3 from tab2
)
order by col1, col2, col3
下面是查询工作原理的示例。sql*plus具有报表布局命令。SQLDeveloper显示一个数据网格
SELECT CASE
WHEN RANK() OVER (PARTITION BY col1 ORDER BY col2) <> 1
THEN ''
ELSE TO_CHAR(col1)
END AS col1,
col2,
col3
FROM (
SELECT col1, col2, col3
FROM tab1
UNION ALL
SELECT col1, col2, col3
FROM tab2
)
在格式上稍加努力就能得到快速响应。啊,谢谢你指出这一点。这是因为我使用col1作为别名,order by处理的是aslias,而不是原始字段。我认为这在Ora 10g中是不同的。我正在纠正它。以下是经过修改的SQL FIDLE:以如下方式完美工作:@ajmalmhd04:不要通过删除订单。没有它,就不能保证结果是正确的;我错误地认为这在Ora 10g中是不同的。完全一样。
SELECT CASE
WHEN RANK() OVER (PARTITION BY col1 ORDER BY col2) <> 1
THEN ''
ELSE TO_CHAR(col1)
END AS col1,
col2,
col3
FROM (
SELECT col1, col2, col3
FROM tab1
UNION ALL
SELECT col1, col2, col3
FROM tab2
)
SQL>break on col1 nodup
SQL>select col1,col2,col3 from tab1 union all select col1,col2,col3 from tab2;