sql 超难的问题

csdnzjj 2006-11-08 07:17:53
有一个表A 如下
票据号 姓名 买卖 金额
1 张三 买 100
1 李四 卖 100
2 小王 买 500
2 小马 卖 500

现在通过一个sql(不用视图)实现如下输出

票据号 买方姓名 卖方姓名 金额
1 张三 李四 100
2 小王 小马 500
oracle 中有decode函数是否可以实现呢?

...全文
364 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnzjj 2006-11-13
  • 打赏
  • 举报
回复
谢谢各位的回答,问题己解决,用decode函数可以实现上述问题,用视图(或嵌套sql)均可实现
hepingtaolinux 2006-11-10
  • 打赏
  • 举报
回复
我也遇到过此类问题,但不会像楼主所说的“超难!”,用decode()函数就比较容易实现!
komushi 2006-11-09
  • 打赏
  • 举报
回复
这个超难么 原始数据的条件倒是要考虑的
libin_ftsafe(子陌红尘:当libin告别ftsafe)的第一个sql文就注意到了避免重复票据号的问题
比如有三个或者以上的相同票据号
子陌红尘 2006-11-09
  • 打赏
  • 举报
回复
select
票据号,
max(decode(买卖,'买',姓名)) as 买方姓名,
max(decode(买卖,'卖',姓名)) as 卖方姓名,
金额
from
表A
group by
票据号,金额



select
a.票据号,
a.姓名 as 买方姓名,
b.姓名 as 卖方姓名,
a.金额
from
表A a,
表A b
where
a.票据号=b.票据号
and
a.金额=b.金额
and
a.买卖='买'
and
b.买卖='卖'
fhuibo 2006-11-09
  • 打赏
  • 举报
回复
select a.票据号,a.姓名 买方,b.姓名 卖方,a.金额 金额 from A a,A b where a.票据号=b.票据号 and a.姓名<>b.姓名 and a.买卖='买'
Eric_1999 2006-11-09
  • 打赏
  • 举报
回复
select ta.票据号,ta.姓名, tb.姓名, ta.金额
from
(select 票据号,姓名,金额 from a where 买卖 = '买')ta ,
(select 票据号,姓名,金额 from a where 买卖 = '卖')tb
where ta.票据号 = tb.票据号 and ta.金额 = tb.金额
doer_ljy 2006-11-09
  • 打赏
  • 举报
回复
把table 变成table1 和 table2
作票号的等值并且姓名的不等值连接,成这样
1 张三 买 100 1 李四 卖 100
1 李四 卖 100 1 张三 买 100
2 小王 买 500 2 小马 卖 500
2 小马 卖 500 2 小王 买 500
然后根据买卖关系decode成:
1 张三 买 100 1 李四 卖 100
1 张三 买 100 1 李四 卖 100
2 小王 买 500 2 小马 卖 500
2 小王 买 500 2 小马 卖 500
然后再distinct一下

何必说很难呢!
呵呵
小李木耳 2006-11-09
  • 打赏
  • 举报
回复
select t.票据号,
max( t.买方姓名) as 买方姓名,
max( t.卖方姓名) as 卖方姓名,
t.金额
from
(select a1.票据号,
decode(a1.买卖,'买'a.姓名,null) as 买方姓名,
decode(a1.买卖,'卖'a.姓名,null) as 卖方姓名,
a1.金额
from 表 a1,表 a2
on a1.票据号 = a2.票据) t
group by t.票据号
order by t.票据号
wyc2000 2006-11-09
  • 打赏
  • 举报
回复
说实话,这个表设计就有问题!
xiaoxiao1984 2006-11-08
  • 打赏
  • 举报
回复
select a.票据号,a.姓名, b.姓名, a.金额
from
(select 票据号,姓名,金额 from a where 买卖 = '买')ta
inner join
(select 票据号,姓名,金额 from a where 买卖 = '卖')tb
on a.票据号 = b.票据号

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧