求教写sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教写sql语句相关的知识,希望对你有一定的参考价值。

A表下有zsn、type、tp个字段(tp有2种值,销售的是T,退回的是F),B表下有zsn、chn2个字段
我写了语句select a.type,b.chn
from a,b
Where a.zsn=b.zsn(+)
显示如下

A表中tp为F的数据(即退回数据),对应的B表的chn为空值。后来自己又仔细看了下数据,发现退回的数据没法直接和B表关联得出chn。退回数据必须先和C表(有zsn、zsn1字段)关联zsn,得出的zsn1再和B表的zsn关联,才能得到chn。
现在我想把销售和退回数据的chn显示在一起,就是上面的表退回数据也有chn显示,我改怎么写语句。
我可能写的有些繁琐,希望这方面的人士能指点一下,谢谢
A表里有2种数据,销售和退回,要得到他们的chn(一种编码)。销售的编码能直接通过AB表关联得到,退回的编码要先通过AC表关联,得出新的ZSN,再和B表关联得出chn
我试着写了decode语句,但是都执行错误

参考技术A 你能直接把关系图贴上来吗,还有,你们是有多懒惰,命名就type 这个像样点,其他什么a表,b表,c表,zsn,chn都是什么乱七八糟的东西????? 参考技术B 最简单的办法,两种数据分成两个sql查,结果用union all连起来
select a.type,b.chn from a,b Where a.zsn=b.zsn and a.tp = 'T'
union all
select a.type, b.chn from a, c, b where a.zsn = c.zsn and c.zsn1 = b.zsn and a.tp = 'F'本回答被提问者和网友采纳

sql语句中数据类型转换怎么写

如下:
表一trxorder 字段id(bigint),status,requestid(varchar)
表二payment 字段id(bigint),authstatus,trxorder_id(bigint)(trxorder_id是参考trxorder表的id的外键)
表三manual 字段status, eventkey(varchar)(eventkey是参考payment表的id的外键)!
参考技术A sql语句中数据类型转换怎么写
oracle: to_number(str) sqlserver: convert(int,字段名)
参考技术B SQL server CONVERT

以上是关于求教写sql语句的主要内容,如果未能解决你的问题,请参考以下文章

求教SQL语句substring的用法

oracle PL/SQL语句题目求教!

求教SQL语句group by两个不同表的字段

求一句sql语句:大于或者小于某个值,但只取紧挨着的6项。

用SQL语句查询每门成绩都大于80的学生姓名? 新手求教。。

sql语句中怎么实现in中的模糊查询