【问题标题】:SQL / Crystal Report : Split row into multiple rowsSQL / Crystal Report:将行拆分为多行
【发布时间】:2013-12-04 10:06:15
【问题描述】:

是否可以根据计算结果拆分行?
示例如下:

数据表:SalesOrder

ItemCode   |  Qty  |  CartonS  |  CartonM  |  CartonL
ItemA      |  22   |  1-2      |  3-6      |  7-10
ItemB      |  15   |  1-4      |  5-10     |  NULL
ItemC      |  32   |  1-2      |  3-7      |  8-10

我想要什么结果:

Item Code  |  Carton No. |  Carton Type  |  Carton Qty
ItemA      |  01-02      |  CartonL      |  2
ItemA      |  03-03      |  CartonS      |  1
ItemB      |  04-05      |  CartonM      |  2
ItemC      |  06-08      |  CartonL      |  3
ItemC      |  09-09      |  CartonS      |  1

对于 ItemA,订单数量为 22,我可以用 2 个 CartonL 和 1 个 CartonS 包装
对于 ItemB,订单数量为 15,我可以用 2 数量 CartonM 包装
对于 ItemC,订单数量为 32,我可以用 3 个 CartonL 和 1 个 CartonS 包装

我将创建一个 Crystal Report 并从 SQL 检索数据。有没有可能得到上面的结果?


感谢 Siva 和 Arvo,目前我不知道计算数量 :(
因为每种物品的三种类型的纸箱都不相同。
参考示例,ItemA 的 CartonS 可以存储 1-2 个,而 ItemB 可以存储 1-4 个。
这意味着如果我为每件商品订购相同的数量。如订购 3 个数量:
对于 ItemA,我需要使用 CartonM 而不是 CartonS
对于 ItemB 我可以使用 CartonS

谢谢!
安米

【问题讨论】:

    标签: sql sql-server sql-server-2008 crystal-reports crystal-reports-2008


    【解决方案1】:

    我不确定,但建议您尝试交叉表,方法是将列放在行部分,将行放在列部分。

    【讨论】:

    • 感谢您的建议,我已经修改了我的问题。其实我不知道计算数量。
    • @Anmi 很抱歉,我无法理解确切的要求,因此无法为您提供所需的解决方案,但我可以在我理解的范围内建议一件事。根据需要创建列,我建议根据需要使用 If 条件创建公式。
    • 谢谢 Siva,我现在知道如何计算数量了。
    【解决方案2】:

    制作三个细节部分,每个纸箱类型一个。抑制不需要的部分,即时计算纸箱数量 - 我希望您对此有一些算法?

    【讨论】:

    • 感谢您的建议,我已经修改了我的问题。其实我不知道计算数量。
    猜你喜欢
    • 2014-08-25
    • 2021-12-07
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多