这是我的密码:
create table sw_tmp6_gar_crm as
SELECT * FROM(
select as_fid_x_gara.dat_fine_perio as dat_fine_perio,
as_fid_x_gara.cod_soc as cod_soc,
as_fid_x_gara.cod_kto_gar as cod_kto_gar,
as_fid_x_gara.cod_fido as cod_fido,
fid.dat_delib as dat_delib,
fid.dat_scad as dat_scad
from it_soc_x_fv,
as_fid_x_gara ,
rt_fidi
where it_soc_x_fv.flg_tp_soc in ('C','N')
and as_fid_x_gara.dat_fine_perio = 2008-03-06
and as_fid_x_gara.cod_soc = it_soc_x_fv.cod_soc
and rt_fidi.dat_fine_perio = as_fid_x_gara.dat_fine_perio
and rt_fidi.cod_soc = as_fid_x_gara.cod_soc
and rt_fidi.cod_fido_tecnico = as_fid_x_gara.cod_fido
)
;我收到以下错误:
编译语句时出错:失败: parseexception行10:9无法从源识别“it_soc_x_fv”、“as_fid_x_gara”附近的输入
你能帮我吗?
发布于 2014-08-08 07:11:31
您需要为子查询指定一个alias名称。下面这个应该能用。
create table sw_tmp6_gar_crm as
SELECT * FROM(
select as_fid_x_gara.dat_fine_perio as dat_fine_perio,
as_fid_x_gara.cod_soc as cod_soc,
as_fid_x_gara.cod_kto_gar as cod_kto_gar,
as_fid_x_gara.cod_fido as cod_fido,
fid.dat_delib as dat_delib,
fid.dat_scad as dat_scad
from it_soc_x_fv,
as_fid_x_gara ,
rt_fidi
where it_soc_x_fv.flg_tp_soc in ('C','N')
and as_fid_x_gara.dat_fine_perio = 2008-03-06
and as_fid_x_gara.cod_soc = it_soc_x_fv.cod_soc
and rt_fidi.dat_fine_perio = as_fid_x_gara.dat_fine_perio
and rt_fidi.cod_soc = as_fid_x_gara.cod_soc
and rt_fidi.cod_fido_tecnico = as_fid_x_gara.cod_fido
) tmp
;但是正如注释中提到的,您不需要子查询。
发布于 2014-08-08 16:32:59
你没有正确地把这些表化成一个别名。在from语句中,您没有提到表的任何别名,在select列中,您说的是fid.dat_delib,fid.dat_scad。
但是您的查询中没有fid表或别名。
如前所述,不需要子查询,您可以直接编写一个查询而不需要子查询。
https://stackoverflow.com/questions/25189506
复制相似问题