Select 语句难题
来源:百度知道 编辑:UC知道 时间:2024/06/15 18:50:45
有一个订单主表,记录了订单号码和客户名称等,还有一个订单明细表,记录了这个订单号下的明细,如产品名称,单价,数量,金额等,我怎样用一个Select(或嵌套)语句得到这样的信息:
订单号码,客户名称,订单总金额(=此订单号明细的金额的总和)
P001 张三 2100
P002 李四 8700
比如我想这样写:Select 订单号码,客户名称,(Select Sum(金额)AS 订单总金额 Where 订单明细.订单号码 = 订单主表.订单号码 From 订单明细) From 订单主表。
这个语句怎样写才成立?
主表名:【订单主表】 字段有2个:订单号码,客户名称
明细表名:【订单明细】字段有5个:订单号码,产品名称,数量,单价,金额
关系:订单主表.订单号码=订单明细.订单号码
PS:同一个订单号只有一个客户名称,其实我的问题不复杂,就是不知道怎样写才能运行。
我的目的是不想在订单主表里有“订单总金额”这个字段,改为根据订单明细自动统计,这样我就不用为了维护订单总金额而费脑筋了,因为万一数据库访问出错,明细保存进去了而订单总金额没有得到更新就会闹笑话,动态统计就不会有这问题,当然,我可以在订单主表里设一个“订单总金额”字段,然后写一个触发器来自动维护这个字段的值,但我想知道是不是Selcel也有办法实现。
订单号码,客户名称,订单总金额(=此订单号明细的金额的总和)
P001 张三 2100
P002 李四 8700
比如我想这样写:Select 订单号码,客户名称,(Select Sum(金额)AS 订单总金额 Where 订单明细.订单号码 = 订单主表.订单号码 From 订单明细) From 订单主表。
这个语句怎样写才成立?
主表名:【订单主表】 字段有2个:订单号码,客户名称
明细表名:【订单明细】字段有5个:订单号码,产品名称,数量,单价,金额
关系:订单主表.订单号码=订单明细.订单号码
PS:同一个订单号只有一个客户名称,其实我的问题不复杂,就是不知道怎样写才能运行。
我的目的是不想在订单主表里有“订单总金额”这个字段,改为根据订单明细自动统计,这样我就不用为了维护订单总金额而费脑筋了,因为万一数据库访问出错,明细保存进去了而订单总金额没有得到更新就会闹笑话,动态统计就不会有这问题,当然,我可以在订单主表里设一个“订单总金额”字段,然后写一个触发器来自动维护这个字段的值,但我想知道是不是Selcel也有办法实现。
你把表结构写来就行了。
说了半天,都不知道你的表是什么结构,什么名称!
你这两个表没有关联的字段呀!
最起码也要有一个关联的字段呀!如:订单编号或是其它的字段!也就是说这两个表最少要有一个相同的字段来做关联!
另外,你这里是不是还要按订单号分组呢,比如:
现在P001这个订单有两个用户订货,又将怎么显示呢
是:P001 张三 2100
P001 李四 3000
还是怎么显示呢?
我不知道我理解的对不对,我先写一条语句你试试看吧。
你用的是SQL 数据库吗?
select
订单主表.订单号码,订单主表.客户名称,sum(订单明细.金额)
from 订单主表,订单明细
where 订单主表.订单号码=订单明细.订单号码
group by 订单主表.订单号码,订单主表.客户名称
如果你的表结构正确的话,这条语句应该没问题!
Select
订单号码,
客户名称,
(Select Sum(金额)AS 订单总金额 From 订单明细 Where 订单明细.订单号码 = 订单主表.订单号码 )
From 订单主表
PS:语句嵌套的话最好分行写
select 订单号码,客户名称,sum(金额) 订单总金额 from 主表,详表 where 主表.订单号 = 详表.订单号 group by 订单号码,客户名称