首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

SQL 有关问题

2012-02-05 
SQL 问题left join 表一 和表二 的时候会报错说: SQL0204NADMINISTRATOR.表一 是未定义的名称。select un

SQL 问题

left join 表一 和表二 的时候 会报错说: SQL0204N "ADMINISTRATOR.表一" 是未定义的名称。

select uniontable.*,表一.col2,表二.col2 from  

select * from (
select table1.col1,table1.col2,table2.col2 from table1 inner join table2 on table1.col1=table2.col2 ) as表一
union
select * from (
select table3.col1,table1.col2,table4.col2 from table1 inner join table2 on table3.col1=table4.col2 ) as表二
) as uniontable  

left join 表1 on 表一.col1 = uniontable.col1
left join 表2 on 表二.col1 = uniontable.col1


[解决办法]
select uniontable.*,表一.col2,表二.col2 from

select * from (
select table1.col1,table1.col2,table2.col2 from table1 inner join table2 on table1.col1=table2.col2 ) as 表一
union
select * from (
select table3.col1,table1.col2,table4.col2 from table1 inner join table2 on table3.col1=table4.col2 ) as 表二
) as uniontable

left join 表1 on 表一.col1 = uniontable.col1
left join 表2 on 表二.col1 = uniontable.col1

[解决办法]
select uniontable.*,表一.col2,表二.col2 from

select * from (
select table1.col1,table1.col2,table2.col2 from table1 inner join table2 on table1.col1=table2.col2 ) as 表一
union
select * from (
select table3.col1,table1.col2,table4.col2 from table1 inner join table2 on table3.col1=table4.col2 ) as 表二
) as uniontable
left join 表1 on 表1.col1 = uniontable.col1
left join 表2 on 表2.col1 = uniontable.col1
[解决办法]
SELECT OUTPUT_OF_GROUP."GROUP", OUTPUT_OF_08."SUM" SUM08, OUTPUT_OF_09."SUM" SUM09 FROM
(
SELECT DISTINCT "GROUP" FROM A
) OUTPUT_OF_GROUP
LEFT JOIN
(
SELECT "GROUP", SUM(NVL(OUTPUT, 0)) SUM FROM A
 WHERE A.YEAR = '08'
 GROUP BY "GROUP"
) OUTPUT_OF_08 ON OUTPUT_OF_GROUP.GROUP = OUTPUT_OF_08.GROUP
LEFT JOIN
(
SELECT "GROUP", SUM(NVL(OUTPUT, 0)) SUM FROM A
 WHERE A.YEAR = '09'
 GROUP BY "GROUP"
) OUTPUT_OF_09 ON OUTPUT_OF_GROUP.GROUP = OUTPUT_OF_09.GROUP

热点排行