現手頭上有如下數据﹕
sys_process表﹕
process_id  process_name
500001      Hi Input
500002      Tu LQC
500003      Tu ICT
sys_PDline表﹕
Pdline_id   Pdline_name
50001       L2-1
sys_Part表﹕
Part_id     Part_no
100000      DD-23-ROHS 
本來數据顯示的應該是﹕(g_sn_status這個table中的資料)
line  |  part_no    | work_order |  wip_process | wip_qty 
50001    100000       2065412       500001         3
50001    100000       2054147       500002         3        
50001    100000       2056414       500003         2 
現在的問題是要用wip_process中的id做為一個字段顯示其對應的wip_qty﹐也就是﹕
Pdline  |  part_no    | work_order |  500001(Hi-Input)| 500002(TU-LQC) | 500003(TU-ICT)....
L2-1    DD-23-ROHS     2065412       3(此process的數量)     3       2    
請問如何下sql語句﹐g_sn_status這個表中有差不多2000万筆資料﹐還要考慮到效能問題,就只有90分了

解决方案 »

  1.   

    wip_process是什么??
    感觉给出的信息不全
      

  2.   

    WIP就是work in process的在制品的意思,還需要什么信息?
      

  3.   

    不能保证需求一个物料的工单只有3个。也就是不能通用。
    我觉得用户的需求不太正确,用户告诉我们想看一个物料正在
    被哪些工单需求,需求多少。那么格式应该由我们来告诉用户
    怎么样是最好的,最直观的。当然用户强硬的表示就是想这么看,这就涉及到行转列的问题。
    我看一般都是通过存储过程实现的。另外如果你想让别人帮你解决问题,你至少还需要提供:
    1、sys_process表和sys_PDline表之间是什么关系?
    2、sys_Part表又怎么关联到sys_PDline表中?
    3、work_order又是怎么出现的?
      

  4.   

    To:snowy_howe(天下有雪)
    沒錯﹐現在的問題就是行轉列的問題。
    sys_process(制程表)﹕
    process_id  process_name
    500004      Hi Input(生產線的一個工位)
    500010      Tu LQC(生產線的一個工位)
    500021      Tu ICT(生產線的一個工位)
    sys_PDline(線別表)﹕
    Pdline_id   Pdline_name(生產線別)
    50007       L2-1
    sys_Part(机种表)﹕
    Part_id     Part_no(机种名稱)
    50000014    DD-23-ROHS 
    g_sn_status(序列狀態表)
    Pdine_id  Model_id  Work_order  WIP_PROCESS WIP_QTY
    50007     50000014  2057005          0            2
    50007     50000014  2057005     500004            1
    50007     50000014  2057005     500010            1
    50007     50000014  2057005     500021            5
    現在需求是將上面的數据顯示如下:
    Pdline_name   Part_no    Work_order  Hi-input  TU-LQC  TU-ICT
    L2-1          DD-23-ROHS 2057005       1         1       5