我有两张桌子和lot_transactions
lot
lotID | salesorderdocline |
-------------------------------------------------
72266414 | 15 |
72266415 | 0 |
72266416 | 0 | lot_transactions
lotID | salesorderdocline | trstypeid | trsdate
----------------------------------------------------------------------------------------
72266414 | 0 | 400 | 19-05-2016
72266414 | 11 | 1104 | 20-05-2016
72266414 | 11 | 132 | 24-05-2016
72266414 | 0 | 133 | 25-05-2016
72266414 | 15 | 1104 | 30-05-2016
72266415 | 0 | 400 | 04-02-2016
72266416 | 0 | 400 | 03-02-2016
72266416 | 10 | 1104 | 05-02-2016
72266416 | 10 | 400 | 06-02-2016
72266416 | 10 | 132 | 08-02-2016
72266416 | 0 | 133 | 09-02-2016 输出
lotid | Stockstatus
----------------------------------------
72266414 | Salesorder
72266415 | Instock
72266416 | Dropout 获得销售订单的标准,Instock和Dropout 72266414处于销售顺序,因为如果我们检查salesorderdocline,它已经从0- 11 -0 - 15变为Instock,因为salesorderdocline是0 72266416,因为salesorderdocline从0-10-0变化了。
如果salesorderdocline =0,则为股票。如果大于0,则lot_transactions是表,在该表中,我们可以看到特定批次的所有事务, lot是只显示当前状态的表。
我正在使用MSSQL数据库。
发布于 2016-06-07 02:19:59
SELECT l.lotID,
Stockstatus = case when l.salesorderdocline > 0
then 'SalesOrder'
when l.salesorderdocline = 0
and not exists
(
select *
from lot_transactions x
where x.lotID = l.lotID
and x.salesorderdocline > 0
)
then 'Instock'
else 'Dropout'
end
FROM lot lhttps://stackoverflow.com/questions/37669124
复制相似问题