通过左加检索sql数据库的方法。

数据库sheet1表
数据库balance表
以上是两张表原始表
我通过一个left join 将两张表同一个stockid 同一年度EndDt 的PrfAttrShrhold 和 SHE 检索出来形成一个新表。代码如下:(这是matlab中的sql语句。只是多了一些标点。sql语句熟的老师一看就明白。)
curs = exec(conn, [‘SELECT HKprofit.dbo.”Sheet1.CompanyCode,HKprofit.dbo.Sheet2”.stockid’…
‘, HKprofit.dbo.”balance.SHE,HKprofit.dbo.Sheet1”.PrfAttrShrhold’…
‘, HKprofit.dbo.”Sheet1.EndDtFROMHKprofit.dbo.Sheet1” ‘…
‘left join HKprofit.dbo.”Sheet2"onHKprofit.dbo."Sheet2”.CompanyCode = HKprofit.dbo.”Sheet1.CompanyCodeleftjoinHKprofit.dbo.balance" on HKprofit.dbo."balance.EndDt=HKprofit.dbo.Sheet1”.EndDt’…
’ and HKprofit.dbo.”balance".InfoSource=HKprofit.dbo."Sheet1”.InfoSource’…
’ and HKprofit.dbo.”balance".AdjFlg=HKprofit.dbo."Sheet1”.AdjFlg’…
’ and HKprofit.dbo.”balance".CompanyCode=HKprofit.dbo."Sheet1”.CompanyCode’…
’ WHERE HKprofit.dbo.”Sheet1.EndDtbetween,endday,and,day,AND(HKprofit.dbo.Sheet1".InfoSource=''年度报告''or HKprofit.dbo."Sheet1.InfoSource=)andHKprofit.dbo.Sheet1”.DtTypeCd=12’…
’ and HKprofit.dbo.”Sheet1.AdjFlg=0andHKprofit.dbo.Sheet1”.CompanyCode in (‘,bb,’)’…
’ and Hkprofit.dbo.”balance.ConFlg=1orderbyHKprofit.dbo.Sheet1.CompanyCode ‘…
‘,HKprofit.dbo.Sheet1$.EndDt’ ])

    curs = fetch(curs);
    close(curs);
    %Assign data to output variable
    b = curs.Data;

检索结果如下图
现在的检索结果

我希望得到的检索结果是SHE比PrfAttrShrhold要早一年。即2014年的SHE和2015年的PrfAttrShrhold放在一行。2013年的SHE和2014年的PrfAttrShrhold放在一行。结果如下图。
目标结果
请问我应该如何修改sql结果。希望不从根本上修改目前的sql语句结构。matlab不熟悉的老师,直接给出sql语句也可以。多谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值