select * from (select * from 表名) 这样的语法中括号里的查询语句是什么意思。为什么不直接from表名
selectM.*,casewhenM.num>1thenM3.EdescselseM3.Edescendfqtyut,M3.Edescfpriceut,M4.trade...
select M.* ,
case when M.num>1 then M3.Edescs else M3.Edesc end fqtyut,
M3.Edesc fpriceut, M4.tradec fcountry
from (
SELECT INVNO,HSCODE,fedesc,NUM,UT,AMT,FNW, FGW,
FMEAS,QUA,PRICE,DESCNUM,LINE,CDESC,BGPRICE,BGAMT,
HSUT,CMTPRICE,CMTAMT,ItemNo,ITEMNOA,Caseno,typea,type2,fbuyamt,type3,etype,etype2,etype3,etype4,sp,fspname,fbuycurcy,
price1,pono FROM LIST1
) M
left join itemut M3 on M.ut=M3.ut
left join (select invno,tradec from list) M4 on M.invno=M4.invno
where M.invno='12AC0003'
ORDER BY M.INVNO,M.DESCNUM,M.LINE
以上是原数据操作查询语句,这个地方为什么可以进行分组,分组一般不是需要包含在聚合函数中或者是在分组的时候将所有查询出来的字段都添加在里面才不报错的吗? 展开
case when M.num>1 then M3.Edescs else M3.Edesc end fqtyut,
M3.Edesc fpriceut, M4.tradec fcountry
from (
SELECT INVNO,HSCODE,fedesc,NUM,UT,AMT,FNW, FGW,
FMEAS,QUA,PRICE,DESCNUM,LINE,CDESC,BGPRICE,BGAMT,
HSUT,CMTPRICE,CMTAMT,ItemNo,ITEMNOA,Caseno,typea,type2,fbuyamt,type3,etype,etype2,etype3,etype4,sp,fspname,fbuycurcy,
price1,pono FROM LIST1
) M
left join itemut M3 on M.ut=M3.ut
left join (select invno,tradec from list) M4 on M.invno=M4.invno
where M.invno='12AC0003'
ORDER BY M.INVNO,M.DESCNUM,M.LINE
以上是原数据操作查询语句,这个地方为什么可以进行分组,分组一般不是需要包含在聚合函数中或者是在分组的时候将所有查询出来的字段都添加在里面才不报错的吗? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询