IBN_NO:   入库单号
SKU_ID:   SKU编码
SKU_NAME: SKU名称
QUANTITY:  入库数量
IBN_NO                 SKU_ID     SKU_NAME        QUANTITY
-------------------------------------------------------------
IN061115000018         02107040    帆布           14
IN061115000018         02127838    羊皮+羊反      15以上为本比需要入库的SKU,在这些SKU放货前,要做个放货工作单,这个放货工作单里,要标明最近一次放该货品的货位。每次放货后,在INVENTORY里有相应纪录,
BIN_ID:     货位代码
SKU_ID:     SKU代码
SHELF_DATE: 上架时间
如:BIN_ID            SKU_ID                    SHELF_DATE
--------------------------------------------------------------
010103            02107040                  2006-11-15
010203            02107040                  2006-11-01
010101            02107040                  2006-11-16
010104            02127837                  2006-11-15            (如果该货品有库存)
010102            02127837                  2006-11-13            (如果该货品有库存)
NULL              NULL                      NULL                  (如果该货品没有库存)我想要的结果,如:
BIN_ID           IBN_NO                  SKU_ID              QUANTITY
----------------------------------------------------------------------------
010101           IN061115000018          02107040            14
010104           IN061115000018          02127838            15  (如果该货品有库存)
NULL             IN061115000018          NULL                15  (如果该货品没有库存)我的意思主要是,把本次要放货的货品和库存关联起来查询出,最近一次放该货品的货位,有就显示相关货位,没有就现实为NULL。请高手赐教!由于本人现有分没了,所以只能尽我所能了,不要意思。
        

解决方案 »

  1.   

    TABLESKU:
      IBN_NO:   入库单号
      SKU_ID:   SKU编码
      SKU_NAME: SKU名称
      QUANTITY:  入库数量TABLESHELF:
      BIN_ID:     货位代码
      SKU_ID:     SKU代码
      SHELF_DATE: 上架时间Select (Select Top 1 BIN_ID 
            From TableShelf 
            Where SKU_ID = A.SKU_ID 
            Order By Shelf_Date) BIN_ID, 
                                 IBN_NO, 
           (Case When (Select Top 1 BIN_ID 
                       From TableShelf 
                       Where SKU_ID = A.SKU_ID 
                       Order By Shelf_Date) 
           Is Not Null Then SKU_ID Else Null End) SKU_ID 
    From TABLESKU A
    不知道我表达您的需求没有?
      

  2.   

    对不起,在SKU_ID后面再加上QUANTITY字段:Select (Select Top 1 BIN_ID 
            From TableShelf 
            Where SKU_ID = A.SKU_ID 
            Order By Shelf_Date) BIN_ID, 
                                 IBN_NO, 
           (Case When (Select Top 1 BIN_ID 
                       From TableShelf 
                       Where SKU_ID = A.SKU_ID 
                       Order By Shelf_Date) 
           Is Not Null Then SKU_ID Else Null End) SKU_ID,
           QUANTITY 
    From TABLESKU A
    --显示结果BIN_ID    IBN_NO           SKU_ID     QUANTITY    
    ------- --------------------------------------
    010203    IN061115000018   02107040   14
    NULL      IN061115000018    NULL       15
      

  3.   

    老是漏点什么,不好意思,order by DescSelect (Select Top 1 BIN_ID 
            From TableShelf 
            Where SKU_ID = A.SKU_ID 
            Order By Shelf_Date Desc) BIN_ID, 
                                 IBN_NO, 
           (Case When (Select Top 1 BIN_ID 
                       From TableShelf 
                       Where SKU_ID = A.SKU_ID 
                       Order By Shelf_Date Desc) 
           Is Not Null Then SKU_ID Else Null End) SKU_ID,
           QUANTITY 
    From TABLESKU A
    ---BIN_ID    IBN_NO           SKU_ID     QUANTITY    
    ------- --------------------------------------
    010101   IN061115000018   02107040   14
    NULL     IN061115000018    NULL      15(所影响的行数为 2 行)