我正在尝试将大量旧的AS400查询移植到SQL,因为我正在开发一个用于报告的GUI。更新AS / 400中库的记录。
有了这个,我遇到了一个包含很多步骤的查询,并且表的加入让我有点意外。
以下是一个查询,它可以执行我想从AS400上的三个物理文件中的两个检索数据。
select substr(clntpm,1,2) as clntwf, substr(pal#pm,1,10) as pal#wf,
substr(clsspm,1,2) as clsswf, clsqpm * 1 as clsqwf
from warpall
where locnpm <> 'ASSEMBLED PALLET'
and commpm <> 'ASSEMBLED PALLET'
and clsqpm <> 0
union all
select substr(clntpq,1,2) as clntwf, substr(pal#pq,1,10) as pal#wf,
substr(clsspq,1,2) as clsswf, clsqpq * 1 as clsqwf
from warpalq
where clsqpq <> 0
现在我想添加第三个表......据我所知,我想对上述联合的结果进行内部联接。
select * from (
<old query>
) t9
inner join t3 on <field> where t3.field = t9.field
我尝试了什么,但是我很明显语法错误,因为我收到有关where子句意外的错误。
有人可以解决一些问题吗?
答案 0 :(得分:1)
试试这个
select
* from (<old query>) as t9
inner join
t3
on
t3.field = t9.field