求思路

#1 prince

订单数据读取,像淘宝那样展示订单信息,数据表如下:
QQ截图20130817143002.jpg

有什么好方法方便地读出订单信息(订单号、订单商品列表<名称、数量、单位>)


求解


2013-08-17 14:59:38

#2 jake

这种需求的设计,应该是将1,2,4三个表合并成一个订单表,里面的结构和“订单分录表”一样,只是加上了商品内容和计量单位和个数就行。

如果按你这个设计来说,那么只能一个表一个表查。

2013-08-17 18:48:55

#3 prince

jake 发表于 2013-8-17 18:48
这种需求的设计,应该是将1,2,4三个表合并成一个订单表,里面的结构和“订单分录表”一样,只是加上了商 ...
二次开发的,表和表结构就这样固定的,没有好办法就来求助了

2013-08-17 19:22:30

#4 prince

jake 发表于 2013-8-17 18:48
这种需求的设计,应该是将1,2,4三个表合并成一个订单表,里面的结构和“订单分录表”一样,只是加上了商 ...
有点明了了,我现在用这样的sql语句:
SELECT  t1.FInterID,t1.FCustID,
                                        t2.FInterID,t2.FEntryID,t2.FItemID,t2.FQty,t2.FPrice,t2.FAmount,t2.FNote,t2.FUnitID,t3.FItemID,t3.FName,
                                        t4.FMeasureUnitID,t4.FName
                                        FROM SEOrder as t1//订单表
                                        RIGHT OUTER JOIN SEOrderEntry as t2//订单分录表
                                        ON t1.FInterID = t2.FInterID
                                        RIGHT OUTER JOIN t_Item as t3//商品资料表
                                        ON t2.FItemID = t3.FItemID
                                        RIGHT OUTER JOIN t_MeasureUnit as t4//商品计量单位表
                                        ON t2.FUnitID = t4.FMeasureUnitID
                                where FCustID=143//这个是客户ID号
得到的数据是这样的:
QQ截图20130817143002.jpg
最前面那个FInterID是订单号

2013-08-17 19:33:20

#5 prince

prince 发表于 2013-8-17 19:33
有点明了了,我现在用这样的sql语句:得到的数据是这样的:

最前面那个FInterID是订单号
现在的问题是怎么得到像spLinker()出来的结果那种格式的数据????最好是sql输出结果就是那样的格式

2013-08-18 12:19:04

#6 prince

prince 发表于 2013-8-17 19:33
有点明了了,我现在用这样的sql语句:得到的数据是这样的:

最前面那个FInterID是订单号
请教jake:
       像这样取出来的数据放到一个临时表里,然后就可以用spLinker()来对订单表和这个临时数据表关联查询,而不必用数组遍历的方法进行处理,这样省很多事,搜了一下论坛没有发现有临时表方面的文章。

       当然,这只是想法,望jake提点.

2013-08-18 14:24:14

#7 jake

prince 发表于 2013-8-18 14:24
请教jake:
       像这样取出来的数据放到一个临时表里,然后就可以用spLinker()来对订单表和这个临时数 ...
目前的开发已经很少用到所谓的临时表的做法了,我的建议是用你自己写的那个SQL直接来。spLinker不是万能,也不是必须的

2013-08-18 14:57:42

#8 prince

jake 发表于 2013-8-18 14:57
目前的开发已经很少用到所谓的临时表的做法了,我的建议是用你自己写的那个SQL直接来。spLinker不是万能 ...
谢谢,现在暂时分2步走了

先查出订单号
再用上面那个sql查出订单分录明细


在模板里遍历订单号集合,再在这个遍历里遍历订单分录明细,有等于这个订单号的就显示出来


感谢jake回复

2013-08-18 15:21:08