首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询以区分库存、销售订单、退出记录

查询以区分库存、销售订单、退出记录
EN

Stack Overflow用户
提问于 2016-06-07 01:25:22
回答 1查看 77关注 0票数 0

我有两张桌子和lot_transactions

lot

代码语言:javascript
复制
lotID       |   salesorderdocline   |         
-------------------------------------------------
72266414    |   15          |    
72266415    |   0           |    
72266416    |   0           |    

lot_transactions

代码语言:javascript
复制
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  

输出

代码语言:javascript
复制
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数据库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 02:19:59

代码语言:javascript
复制
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 l
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37669124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档