同一个语句在sql windows 下能执行,但在commond windows 下执行报错 为什么语句中用了union
报错信息是 ORA-00900 无效SQL语句
报错信息是 ORA-00900 无效SQL语句
解决方案 »
- 相同关键字取时间最大的记录,求SQL
- 如何用一条sql语句去掉两个日期中的周末
- 如何查询数据库中一个字段以|分隔的前几条数据
- 求助: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- 一個小問題:在查詢中如何判斷一字段前13位中是否包含某一字符?
- 如何将solaris系统下的oracle数据库移植到windows系统中?
- 关于现在大型网络数据库的一个调查?100分来着皆有
- c++ builder oracle
- 我的代码错在那里了,请大家帮我看一下
- 为什么我的SQL Developer无法建立连接
- 免费oracle性能优化的讲座(内存系列),有兴趣的同学可以来看下
- 一个数据库链接的问题,没分了,各位大大救命啊
(L_DATE,
L_UNIT_ID,
L_BASECOMBI_ID,
L_FUND_ID,
C_INVEST_TYPE,
VC_BIND_SEAT,
VC_STOCKHOLDER_ID,
VC_INTER_CODE,
C_MARKET_NO,
L_BEGIN_AMOUNT,
L_CURRENT_AMOUNT,
L_FROZEN_AMOUNT,
L_UNFROZEN_AMOUNT,
L_BUY_AMOUNT,
L_SALE_AMOUNT,
L_PREBUY_AMOUNT,
L_PRESALE_AMOUNT,
L_TEMP_FROZEN_AMOUNT,
L_TEMP_UNFROZEN_AMOUNT,
L_T1_TEMP_FROZEN_AMOUNT,
L_T1_FROZEN_AMOUNT,
EN_CURRENT_IMPAWN_AMOUNT,
EN_PRE_IMPAWN_AMOUNT,
EN_IMPAWN_AMOUNT,
EN_PRE_RETURN_AMOUNT,
EN_RETURN_AMOUNT,
EN_BUY_BALANCE,
EN_SALE_BALANCE,
EN_BUY_FEE,
EN_SALE_FEE,
EN_UNTRANSFERED_INVEST,
EN_INTEREST_INVEST,
EN_ACCUMULATE_PROFIT,
EN_TURN_INVEST,
EN_TURN_INTEREST_INVEST,
EN_TURN_PROFIT,
L_ASSET_ID,
L_BUY_UNSETTLE_AMOUNT,
L_SALE_UNSETTLE_AMOUNT,
EN_BUY_UNSETTLE_BALANCE,
EN_SALE_UNSETTLE_BALANCE,
EN_TODAY_PROFIT,
EN_CURRENT_COST,
C_POSITION_FLAG)
(select a.L_DATE,
a.L_UNIT_ID,
c.l_combi_id_new,
c.l_fund_id_new,
'1',
case
when a.c_et_no in ('1', '2') then
a.VC_BIND_SEAT
when a.c_et_no = '5' and
d.c_stock_type not in ('2', 'F', 'E') then
'SEAT5'
when a.c_et_no = '5' and d.c_stock_type in ('2', 'E', 'F') then
'SEAT6'
end VC_BIND_SEAT,
case
when a.c_et_no in ('1', '2') then
a.VC_STOCKHOLDER_ID
when a.c_et_no = '5' and
d.c_stock_type not in ('2', 'E', 'F') then
'HOLDER5'
when a.c_et_no = '5' and d.c_stock_type in ('2', 'E', 'F') then
'HOLDER6'
end VC_STOCKHOLDER_ID,
case
when a.c_et_no = '5' and d.c_stock_type in ('2', 'E', 'F') then
substr(a.vc_inter_code, 1, 6) || 'CW'
else
a.VC_INTER_CODE
end,
case
when a.c_et_no = '5' and d.c_stock_type in ('2', 'E', 'F') then
'6'
else
a.C_MARKET_NO
end,
a.L_BEGIN_AMOUNT,
a.l_current_amount + a.l_buy_amount - a.l_sale_amount +
nvl(b.l_dividend_right_amount, 0) + nvl(b.l_today_shareout, 0) +
nvl(b.l_total_shareout, 0) + nvl(b.l_uncirculated_amount, 0),
a.l_frozen_amount + nvl(b.l_dividend_right_amount, 0) +
nvl(b.l_today_shareout, 0) + nvl(b.l_total_shareout, 0) +
nvl(b.l_uncirculated_amount, 0),
a.L_UNFROZEN_AMOUNT,
a.L_BUY_AMOUNT,
a.L_SALE_AMOUNT,
a.L_PREBUY_AMOUNT,
a.L_PRESALE_AMOUNT,
0,
0,
0,
0,
a.EN_CURRENT_IMPAWN_AMOUNT,
a.EN_PRE_IMPAWN_AMOUNT,
a.EN_IMPAWN_AMOUNT,
a.EN_PRE_RETURN_AMOUNT,
a.EN_RETURN_AMOUNT,
a.EN_BUY_BALANCE,
a.EN_SALE_BALANCE,
a.EN_BUY_FEE,
a.EN_SALE_FEE,
a.en_untransfered_invest,
a.EN_INTEREST_INVEST,
a.EN_ACCUMULATE_PROFIT,
a.EN_TURN_INVEST,
a.EN_TURN_INTEREST_INVEST,
a.EN_TURN_PROFIT,
c.L_ASSET_ID_NEW,
0,
0,
0,
0,
0,
0,
0
from tradehis.thisunitstock a,
tradehis.thisspecstock b,
tfundname_dnw c,
tradehis.thisstockinfo d
where a.l_date = b.l_date(+)
and a.l_unit_id = b.l_unit_id(+)
and a.l_basecombi_id = c.l_combi_id_old
and substr(a.vc_inter_code, 7, 2) not in ('RZ', 'RQ')
and a.vc_inter_code = d.vc_inter_code
and a.l_date = d.l_date
union
select a.L_DATE,
a.L_UNIT_ID,
c.l_combi_id_new,
c.l_fund_id_new,
'1',
case
when a.c_et_no in ('1', '2') then
a.VC_BIND_SEAT
when a.c_et_no = '5' then
'SEAT5'
end VC_BIND_SEAT,
case
when a.c_et_no in ('1', '2') then
a.VC_STOCKHOLDER_ID
when a.c_et_no = '5' then
'HOLDER5'
end VC_STOCKHOLDER_ID,
a.VC_INTER_CODE,
a.c_et_no,
a.L_BEGIN_AMOUNT,
a.l_current_amount + a.l_buy_amount - a.l_sale_amount +
nvl(b.l_dividend_right_amount, 0) + nvl(b.l_today_shareout, 0) +
nvl(b.l_total_shareout, 0) + nvl(b.l_uncirculated_amount, 0),
a.l_frozen_amount + nvl(b.l_dividend_right_amount, 0) +
nvl(b.l_today_shareout, 0) + nvl(b.l_total_shareout, 0) +
nvl(b.l_uncirculated_amount, 0),
a.L_UNFROZEN_AMOUNT,
a.L_BUY_AMOUNT,
a.L_SALE_AMOUNT,
a.L_PREBUY_AMOUNT,
a.L_PRESALE_AMOUNT,
0,
0,
0,
0,
a.EN_CURRENT_IMPAWN_AMOUNT,
a.EN_PRE_IMPAWN_AMOUNT,
a.EN_IMPAWN_AMOUNT,
a.EN_PRE_RETURN_AMOUNT,
a.EN_RETURN_AMOUNT,
a.EN_BUY_BALANCE,
a.EN_SALE_BALANCE,
a.EN_BUY_FEE,
a.EN_SALE_FEE,
a.en_untransfered_invest,
a.EN_INTEREST_INVEST,
a.EN_ACCUMULATE_PROFIT,
a.EN_TURN_INVEST,
a.EN_TURN_INTEREST_INVEST,
a.EN_TURN_PROFIT,
C.L_ASSET_ID_NEW,
0,
0,
0,
0,
0,
0,
0
from tradehis.thisunitstock a, tradehis.thisspecstock b, tfundname_dnw c
where a.l_date = b.l_date(+)
and a.l_unit_id = b.l_unit_id(+)
and a.l_basecombi_id = c.l_combi_id_old
and substr(a.vc_inter_code, 7, 2) in ('RZ', 'RQ'))
楼主是粘贴复制的吗? 这个过程有没有错误? 把SQL 保存为sql脚本,执行脚本看看------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
union前面有一个空行,把空行删了