以下sql应该如何作:

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:16:11
以下sql应该如何作:
p_date deal_n
20070419 400
20070419 101
20070418 -830
20070419 -10500
20070418 -2500
20070419 -160
20070419 220
20070412 160

我想用一个sql语句求出两个时间,一个是deal_n>0的最近日期,一个是deal_n<0的最近日期
我的意思是用一个SQL语句,而不是分开用两个语句来写,否则,我也不来此问了

select
(select top 1 p_date from table1 where deal_n>0 order by p_date desc) as dataup,
(select top 1 p_date from table1 where deal_n<0 order by p_date desc) as databellow

select a.date1,b.date2 from (
select max(p_date) as date1 from tabne_name where deal_n<0) a,(
select max(p_date) as date2 from tabne_name where deal_n>0) b

用你实际的表名替换上面的table_name

deal_n>0和deal_n<0是两个不同的数据库,他们有没有值相同可以作为依据的字段如果有,group by 那个字段可以得到结果
如果没有那就只能使用union [all] 连接2个SQL语句将两个字段作为2行一起显示了