这个SQL如何写?谢谢! (200分)

  • 主题发起人 主题发起人 heping
  • 开始时间 开始时间
H

heping

Unregistered / Unconfirmed
GUEST, unregistred user!
有三个单个表:
一个表是:分类表,一个是货品表,一个表是:销售表。

分类表,内容,举例如下:
bh(编号) mc(名称) dl(大类)
--------------------------------------
01 白菜 蔬菜
02 上海青 蔬菜
...(条目若干)
07 苹果 水果
08 梨 水果
...(条目若干)

货品表,内容,举例如下:
bh(编号) dl(大类) fl(分类)
--------------------------------------
01020304005 蔬菜 白菜
01030405006 蔬菜 上海青
...(条目若干)
02030406008 水果 苹果
02040506001 水果 梨
...(条目若干)

销售表,内容,举例如下:
dh(单号) rq(日期) hpbh(货品编号) xsj(销售价) js(件数) xsje(销售金额)
-----------------------------------------------------------------------------------------------
020915001 2002-9-15 13:47:12 01020304005 123.50 2 247.00
020916002 2002-9-16 09:12:10 01030405006 210.00 1 210.00
......(条目若干)

三个表之间的关系:货品表中,dl(大类):只有,蔬菜,和,水果。
fl(分类):对应,分类表中bh(编号)。
(当然,fl(分类)表中,dl(大类),也就只有只有,蔬菜,和,水果。)
销售表中,hpbh(货品编号):对应,货品表中:bh(编号)。
现在:要这样一个报表:统计每个月中每一天的销售情况。按:大类,分类,显示出来,表格格式如下:
-------------------------------------------------------------------------------------------------
| 蔬菜 | 水果 |
------------------------------------------------------------------------ 小计
日期 | 白菜 | 上海青 | ... | 苹果 | 梨 | ... |
--------------------------------------------------------------------------------------
| 件数 | 金额 | 件数 | 金额 | ... | 件数 | 金额 | 件数 | 金额 | ... | 件数 | 金额 |
-------------------------------------------------------------------------------------------------
2002-9-1 3 120.00 1 100.00 4 220.00
2002-9-2 2 40.00 2 40.00
....
2002-9-15 2 247.00 2 247.00
....
2002-9-30 1 15.00 1 15.00
-------------------------------------------------------------------------------------------------
5 367.00 2 40.00 1 15.00 1 100.00 9 522.00

请教,如何用SQL实现。谢谢。

 
典型的交叉表格,可采用ado的sharp命令,delphi封装的不好,好像属于ado扩展中的
命令,如果用access可以直接用查询向导生成,你用的什么数据库?
 
谢谢指点。我的开发环境是:
DELPHI 6 + SQL SERVER 2000 + Ehlib25。
请再说清楚点。
 
用字查询时可以办到的!
同时使用GridEh
 
[8D][8D]
是多层表头啊,用SQL语句生成的结果是二维数据集,不能有多层标题。
用DELPHI中的决策分析组件吧,就是“Decision Cube”页中的组件,肯定行。
自己找书来看一下用法吧。
 
RBuilder's CrossReport just do it!
 
用DELPHI中的决策分析组件一定行[:D]
 
用Decision Cube里的控件
嫌麻烦就用SQL语言写出
|白菜件数|白菜金额|上海青件数|上海青金额| ... |苹果件数|苹果金额|梨件数|梨金额 |...|合计件数 |合计金额
这一层,表头就在程序里控制嘛
 
我的问题,正是:
[red]如何用SQL语句,来实现。[/red]
代码:
谢谢。请给出SQL语句。
 
直接写SQL语句比较难的,可以用一些报表控件来完成,
quickreport应该可以实现的.
 
[8D]
>>我的问题,正是:
>> 如何用SQL语句,来实现。

有这么固执的吗?
吃面条一定要用筷子吗?喝汤一定要用汤勺吗?
取数据一定要用SQL语句吗?

主要是你要的效果啊,把它实现就行了嘛。

问题是:用SQL语句,只能返回二维数据集数据,决不可能返回三层表头,那你还一定要用
SQL语句吗?

该不是想找个借口赖分吧。[:D][:D]
 
哈。。。。。分是赖不得的。
既然,问了问题。当然,要问得深透一些。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部