目前我查出来的数据是这样的如何实现这种?大佬快来,谢谢大佬~

解决方案 »

  1.   

    第一张图发错了,重发第一张图,并且附SQL
    SQL:
    SELECT
    GROUP_NAME,
    DOC_DATE,
    DOC_ID,
    PRODUCT_ID,
    PRODUCT_NAME,
    SUM(QUANTITY) AS QUANTITY,
    DW
    FROM
    (
    SELECT
    RD.DOC_ID,
    RI.FACILITY_ID,
    RI.PRODUCT_ID,
    PRO.PRODUCT_NAME,
    RI.PRICE,
    RI.QUANTITY * DECODE (
    RI.UNIT_QUANTITY,
    NULL,
    1,
    0,
    1,
    RI.UNIT_QUANTITY
    ) AS QUANTITY,
    RD.DOC_DATE,
    RC.VENDOR_ID,
    PG.GROUP_NAME,
    SBT.DESCRIPTION AS DW
    FROM
    RECEIVE_DOC RD
    INNER JOIN RECEIVE_ITEM RI ON RD.DOC_ID = RI.DOC_ID
    INNER JOIN RECEIVE_COMMAND RC ON RD.BASE_ENTRY = RC.DOC_ID
    LEFT JOIN PRODUCT PRO ON RI.PRODUCT_ID = PRO.PRODUCT_ID
    LEFT JOIN SHIPMENT_BOX_TYPE SBT ON PRO.DEFAULT_SHIPMENT_BOX_TYPE_ID = SBT.SHIPMENT_BOX_TYPE_ID
    LEFT JOIN PARTY_GROUP PG ON PG.PARTY_ID = RC.VENDOR_ID
    WHERE
    1 = 1
    AND RD.MOVEMENT_TYPE_ID = 'IC'
    )
    GROUP BY 
    GROUP_NAME,
    DOC_DATE,
    DOC_ID,
    PRODUCT_ID,
    PRODUCT_NAME,
    DW
      

  2.   

    rank() over()