以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教select子句的运用 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119761) |
-- 作者:yetle -- 发布时间:2018/5/31 14:42:00 -- 请教select子句的运用 select a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname,MAX(c.PriceA_NoInvo) as PriceA_NoInvo f rom ms_code a left join MS_Fty b on a.Fty=b.Fty left join ms_code_price c on a.code=c.code where C.code=\'10221045019\' group by a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname (select (select Max(NewPRICE) f rom (values (c.PriceA_NoInvo),(c.PriceB_NoInvo),(c.PriceC_NoInvo),(c.PriceD_NoInvo),(c.PriceE_NoInvo), (c.PriceF_NoInvo),(c.PriceG_NoInvo),(c.PriceS_NoInvo),(c.PriceM_NoInvo),(c.PriceL_NoInvo),(c.PriceXL_NoInvo)) as #temp(NewPRICE)) as PriceA_NoInvo f rom ms_code_price) 将黄色select子句代替橙色部分,放进去之后 select a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname, (select (select Max(NewPRICE) f rom (values (c.PriceA_NoInvo),(c.PriceB_NoInvo),(c.PriceC_NoInvo),(c.PriceD_NoInvo),(c.PriceE_NoInvo), (c.PriceF_NoInvo),(c.PriceG_NoInvo),(c.PriceS_NoInvo),(c.PriceM_NoInvo),(c.PriceL_NoInvo),(c.PriceXL_NoInvo)) as #temp(NewPRICE)) as PriceA_NoInvo f rom ms_code_price) f rom ms_code a left join MS_Fty b on a.Fty=b.Fty left join ms_code_price c on a.code=c.code where C.code=\'10221045019\' group by a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname 提示: 选择列表中的列 \'ms_code_price.PriceA_NoInvo\' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 改成: select a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname, (select (select Max(NewPRICE) f rom (values (c.PriceA_NoInvo),(c.PriceB_NoInvo),(c.PriceC_NoInvo),(c.PriceD_NoInvo),(c.PriceE_NoInvo), (c.PriceF_NoInvo),(c.PriceG_NoInvo),(c.PriceS_NoInvo),(c.PriceM_NoInvo),(c.PriceL_NoInvo),(c.PriceXL_NoInvo)) as #temp(NewPRICE)) as PriceA_NoInvo f rom ms_code_price) f rom ms_code a left join MS_Fty b on a.Fty=b.Fty left join ms_code_price c on a.code=c.code where C.code=\'10221045019\' group by a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname, c.PriceA_NoInvo,c.PriceB_NoInvo,c.PriceC_NoInvo,c.PriceD_NoInvo,c.PriceE_NoInvo,c.PriceF_NoInvo,c.PriceG_NoInvo,c.PriceS_NoInvo,c.PriceM_NoInvo,c.PriceL_NoInvo,c.PriceXL_NoInvo 又提示: 子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 警告: 聚合或其他 SET 操作消除了 Null 值。 [此贴子已经被作者于2018/5/31 14:55:15编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/31 14:59:00 -- 不能直接group by,你可以查询结束后,最后再写一个select group by |
-- 作者:yetle -- 发布时间:2018/5/31 15:21:00 -- 不是这么回事,加载子句后的group by 后也不行 |
-- 作者:有点甜 -- 发布时间:2018/5/31 15:42:00 -- 以下是引用yetle在2018/5/31 15:21:00的发言:
不是这么回事,加载子句后的group by 后也不行
1、去掉group by行不行?如果可以,那么你生成这个表以后,再group by一下;
2、不会做,请把数据库上传,把你需要实现的功能说明。 |
-- 作者:yetle -- 发布时间:2018/5/31 16:11:00 -- select a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname, (select (select Max(NewPRICE) f rom (values (c.PriceA_NoInvo),(c.PriceB_NoInvo),(c.PriceC_NoInvo),(c.PriceD_NoInvo),(c.PriceE_NoInvo), (c.PriceF_NoInvo),(c.PriceG_NoInvo),(c.PriceS_NoInvo),(c.PriceM_NoInvo),(c.PriceL_NoInvo),(c.PriceXL_NoInvo)) as #temp(NewPRICE)) as PriceA_NoInvo f rom ms_code_price m where code=c.code ) fr om ms_code a left join MS_Fty b on a.Fty=b.Fty left join ms_code_price c on a.code=c.code where C.code=\'10221045019\' group by a.stockunit, a.ColorBegNum, a.minnum, a.fConvert, a.Weight, a.colthl, a.code,A.Kind_Desc,a.Model_Desc,a.WLBYEnd_Desc,a.name,a.useunit,a.Stru,a.PubPrice,b.ftyname, c.PriceA_NoInvo,c.PriceB_NoInvo,c.PriceC_NoInvo,c.PriceD_NoInvo,c.PriceE_NoInvo,c.PriceF_NoInvo,c.PriceG_NoInvo,c.PriceS_NoInvo,c.PriceM_NoInvo,c.PriceL_NoInvo,c.PriceXL_NoInvo 改成这样,提示: 选择列表中的列 \'ms_code_price.code\' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
|
-- 作者:有点甜 -- 发布时间:2018/5/31 16:18:00 -- 1、去掉group by行不行?如果可以,那么你生成这个表以后,再group by一下;
2、不会做,请把数据库上传,把你需要实现的功能说明。 |