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
以上是原数据操作查询语句,这个地方为什么可以进行分组,分组一般不是需要包含在聚合函数中或者是在分组的时候将所有查询出来的字段都添加在里面才不报错的吗?
展开
 我来答
szm341
2012-11-22 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5120万
展开全部
括号内的结果集对于外面叫做派生表
这种查询一般是要对括号内的查询结果集再进行筛选及操作
你的这个写的简单,看似无用,一般里面写的都很复杂,多表联合、分组等等
--------------------------
哪里有分组,order by是排序,case when 是选择语句,可以根据选择条件筛选取值
abcd880129
2012-11-22 · TA获得超过216个赞
知道小有建树答主
回答量:479
采纳率:0%
帮助的人:218万
展开全部
把select语句看成函数,返回值是表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式