hive sql 是不是不能这么写 ?()里的部分是不是有问题

下面hive不对,不知道哪错了

select
b.D as AA,
b.S as BB,
b.R as TT,
b.I  as WW,
i.L as OII,
i.N as MM,
(select TTW from 表t as t
join 表h as h
on t.ITEMCODE = h.ITEMCODE
and h.ITEMID =i.ITEMID
)as Product_name,
i.P as PEJ,
i.Ba  as BarRR
from 表b as  b
left join 表I as l on l.InventLocationID=b.InventLocationID
left join 表i as i on i.PURCHID=b.PURCHID
where b.OrderNumber='10170R'

那肯定是不行啊。既然你把它作为一个字段来嵌套,就不可以是一个完整的表,你必须从语法上保证它只能有一个数据。
你前面AA,BB,TT,WW,OII,MM都是字段,括号作为其中一个字段,如果里面有多行,用头想也知道数据库不知道该怎么处理这玩意
同时,不能你自己心里知道这个语句的执行结果只会出一行,那不行。语句不可以依赖数据。必须是不管有多少数据,从语法就保证只能有一条。