名称Table
*A1 (代号EX:L001)
 A2 (产品中文名)
 A3 (产品英文名)交易Table
*B1 (代号EX:L001)
 B2 (数量)
 B3 (日期)类型Table
*C1 (代号EX:L001)
*C2 (类型 A,B,C,D)說明Table
*D1 (类型 A,B,C,D)
 D2 (类型 A,B,C,D的解释)

解决方案 »

  1.   

    假设:
    名称table:nameselect sum(count(1)) from
      

  2.   

    sorry 不小心按到“回复”了:
    假设:
    名称table:name
    交易Table:exchange 
    类型Table:type
    說明Table:description
    数据库为oracle 9i.(8i请把case when 换为decode)select b1,sum(case when type.c2='A' b2 then null end) countA,sum(case when type.c2='B' b2 then null end) countB,sum(case when type.c2='C' b2 then null end) countC,sum(case when type.c2='D' b2 then null end) countD,C2 from exchange,type where exchange.b1=type.c1 and exchange.b1 = vCount.B1 group by exchange.b1
      

  3.   

    $ar = array(
    array("L001", 1, "A"),
    array("L001", 2, "B"),
    array("L002", 5, "C"),
    array("L003", 6, "D"),
    array("L004", 9, "A"),
    array("L004", 5, "D"),
    );$out = array();
    foreach($ar as $v)
      $out[$v[0]][$v[2]] = $v[1];echo "<table><tr><td>名称</td><td>A数量</td><td>B数量</td><td>C数量</td><td>D数量</td></tr>";
    foreach($out as $k=>$v)
      echo "<tr><td>$k</td><td>$v[A]</td><td>$v[B]</td><td>$v[C]</td><td>$v[D]</td></tr>";
    echo "</table>";
      

  4.   

    头痛…
    感谢前辈提供的方法我等会试试,但是我还是想不透像底下这样的状况
    该如何解决?用SQL就能解决吗?还是要到程序中处理?
    MB_TABLE (产品数据)
    MB001   MB002     MB003      MB004
    品号       产品一     规格一     单位 
    L30001     AA1         AA2        EA 
    L30002     BB1         BB2        EA
    L30003     CC1         CC2        EA
    L30004     DD1         DD2        EAMC_TABLE (库存资料)
    MC001       MC002
    品号   库存数
    L30001      100  
    L30002      200
    L30003      300LA_TABLE (交易数据) 
    LA001 LA002 LA003    LA004       LA005
    品号 交易日 交易状态    交易数量     地点
    L30001    20040801     -1        10   1
    L30002    20040802      1        20 2
    L30003    20040803     -1        30 3
    L30004    20040804      1        40 1
    L30004    20040805     -1        50 1
    L30001    20040806      1        60 3
    PS:交易状态 -1=销货  1=进货 
    SELECT 得到的结果品号     产品    规格  交易日 交易状态    交易数量  地点   库存数
    L30001   AA1     AA2     20040801     -1         10        1     100
    L30001   AA1     AA2     20040806      1         60        3     100
    L30002   BB1     BB2     20040802      1         20        2     200
    L30003   CC1     CC2     20040803     -1         30        3     300
      

  5.   

    该如何解决?用SQL就能解决吗?还是要到程序中处理?--------一般是这样,不需要,也不可能,直接sql出你所需要的结果,这样做对数据库比较累,
    你可以将符合条件的记录都取出,将值并入一个数组里,然后操作这个数组来得到
    你所需要的数据,请仔细看一下唠叨老大给你的代码,他的中心思想就是这样,不过
    是把取得符合条件的记录的过程省了
      

  6.   

    $ar = array(
    array("L001", 1, "A"),
    array("L001", 2, "B"),
    array("L002", 5, "C"),
    array("L003", 6, "D"),
    array("L004", 9, "A"),
    array("L004", 5, "D"),
    );OK!!那么请教我该如何将SELECT值带入数组中呢?? do {
    $ar = array(
    array($row['品号'], $row['库存量'], $row['类型’]),
    );
    }while ($row= mssql_fetch_assoc($query)); 还是
    $ar = array(
    do {
    array($row['品号'], $row['库存量'], $row['类型’]),
    }while ($row= mssql_fetch_assoc($query));
    );
    不行!!请教前辈了…
      

  7.   

    顺便请教 ARRAY() 最多能够建立多少个数组组数呢?有限制吗?
      

  8.   

    $out = array();
    while ($row= mssql_fetch_assoc($query)) {
      $out[$row['品号']][$row['类型']] = $row['库存量'];
    }
      

  9.   

    $out = array();
    while ($row_dserp= mssql_fetch_assoc($query)) 
    {
    $out[$row_dserp['品号']][$row_dserp['入出库'].$row_dserp['异动别']]+=$row_dserp['异动数量'];
    $out[$row_dserp['品号']][MB002]=$row_dserp['品名'];
    $out[$row_dserp['品号']][MB003]=$row_dserp['规格'];
    $out[$row_dserp['品号']][MB004]=$row_dserp['库存单位'];
    $out[$row_dserp['品号']][MC002]=$row_dserp['库别名称'];
    $out[$row_dserp['品号']][MC007]=$row_dserp['库存量'];
    }我这样写会不会笨了点
      

  10.   

    感谢前辈的指导方向,小弟决定用Array()在程序里面处理了!