以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于INNER JOIN的用法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175679)

--  作者:ap9709130
--  发布时间:2022/3/15 12:00:00
--  关于INNER JOIN的用法
 老师

       我根据帮助上的这段

  

我们要查询出每个产品订购数量最大的订单,Se lec t语句如下:

S el ect a.产品,a.客户,a.日期,a.数量  ro m {订单} a INNER JOIN (Se lect 产品,Max(数量) As 数量 From {订单} Group By 产品) b on a.产品 = b.产品 And a.数量 = b.数量 Order By a.产品


改了一个sql ,但不知道为什么老是会报错:我的语句如下:


    se lect a.产品dw fr om {物料信息表} a where a.产品dw in (SE LECT [MID] From {WLBM} where 物料编码 = \'1.02.GH.749\' And CID = 2855) INNER JOIN (se lect 产品dw from {物料信息表}  where 产品dw in (SE LECT [MID] Fro m {WLBM} wh ere 物料编码 = \'1.02.BR.070\' And CID = 2855)) c on a.产品dw = c.产品dw


我已经把 INNER JOIN 两边的语句单独去试,都没有问题,为什么一用INNER JOIN 边起来 就会报错?


--  作者:有点蓝
--  发布时间:2022/3/15 12:10:00
--  
把sql分行格式一下,结构就清楚了

select * from (
   select a.产品dw 
fr om {物料信息表}
where 产品dw in (
SE LECT [MID] From 
{WLBM} where 物料编码 = \'1.02.GH.749\' And CID = 2855) ) as a
INNER JOIN 
(
select 产品dw from {物料信息表}  
where 产品dw in (
SE LECT [MID] Fro m {WLBM} wh ere 物料编码 = \'1.02.BR.070\' And CID = 2855)
) c on a.产品dw = c.产品dw