Access中SQL语句疑问(100)

  • 主题发起人 主题发起人 yuzhizhi
  • 开始时间 开始时间
Y

yuzhizhi

Unregistered / Unconfirmed
GUEST, unregistred user!
在Access中如何实现如下情况: A表单号 发货方 明细条数a-001 CD01 3a-002 CS01 2- - - - - - - - - - - - - - - - - - - - - - - - - - B表单号 发货方 明细 数量a-001 CD01 9T36102E 2a-001 CD01 9T14209C 1a-001 CD01 AM66907A 2 a-002 CS01 AM34510A 3a-002 CS01 AM34510A 2 我想满足:单号 发货方 明细总数 明细 明细数量a-001 CD01 5 9T36102E 2a-001 CD01 5 9T14209C 1a-001 CD01 5 AM66907A 2a-002 CS01 5 AM34510A 3a-002 CS01 5 AM34510A 2我的SQL语句为:select a.单号,a.发货方,a.明细条数,b.单号,b.发货方,sum(明细数量) as 明细总数,b.明细,b.明细数量 from [A表] a left outer join [B表] on (a.单号=b.单号 and a.发货方=b.发货方) group by a.单号 order by a.单号,a.发货方平常对SQL Server 2000操作得多,但这句在Access中就不行。不知道是不是不支持group by 与 sum ?
 
在sql server可以通过?Select a.单号,a.发货方,a.明细条数,b.单号,b.发货方, (Select Sum(C.数量) from [B表] C Where C.单号=A.单号 and C.发货方=A.发货方 ) as 明细总数, b.明细,b.明细数量 from [A表] a left join [B表] on (a.单号=b.单号 and a.发货方=b.发货方) order by a.单号,a.发货方---------------------Select X.*, B.明细,b.明细数量 From (Select a.单号,a.发货方,Max(a.明细条数) 明细条数_A, sum(b.数量) as 明细总数 from [A表] a left join [B表] on (a.单号=b.单号 and a.发货方=b.发货方) group by a.单号,a.发货方 ) X Left Join [B表] B on (X.单号=b.单号 and X.发货方=b.发货方)
 
select a.单号,a.发货方,a.明细条数,b.单号,b.发货方,sum(明细数量) as 明细总数,b.明细,b.明细数量group by a.单号明显有非统计列没在group by列中,在哪也不能通过啊
 
to znxia:语句不支持.我在Access中无法通过。 to ysai:语句无法满足我的条件。
 
Select X.*, B.明细,b.明细数量 From (Select a.单号,a.发货方,Max(a.明细条数) as 明细条数_A, sum(b.数量) as 明细总数 //增加了 as 关键字 from [A表] a left join [B表] on a.单号=b.单号 and a.发货方=b.发货方 group by a.单号,a.发货方 ) X Left Join [B表] B on (X.单号=b.单号 and X.发货方=b.发货方)
 
SELECT a.单号,a.发货方,Sum([数量]) AS 明细总数FROM a INNER JOIN b ON (a.单号 = b.单号) AND (a.发货方 = b.发货方)group by a.单号,a.发货方
 
修改自znxia大侠的Select X.*, B.明细From (Select a.单号,a.发货方,max(a.明细条数) as 明细数量, sum(b.数量) as 明细总数 from a left join b on a.单号=b.单号 and a.发货方=b.发货方 group by a.单号,a.发货方) X Left Join B on (X.单号=b.单号 and X.发货方=b.发货方)
 
来自:ysai, 时间:2009-5-5 0:04:19, ID:3956831select a.单号,a.发货方,a.明细条数,b.单号,b.发货方,sum(明细数量) as 明细总数,b.明细,b.明细数量group by a.单号明显有非统计列没在group by列中,在哪也不能通过啊 ==============这里不是SQL 是说你的group by里的字段列表太少,a.发货方,a.明细条数,b.单号,b.发货方,b.明细,b.明细数量这几个字段都不是合计列,却不在group by里,当然通不过了请先读懂group by语句的说明
 

Similar threads

后退
顶部