• SQL当前查询条件数据需要调用其他数据时创建临时表实现


    BEGIN

    IF OBJECT_ID('tempdb..#TB') IS NOT NULL


    DROP TABLE #TB

    CREATE TABLE #TB(
    WorkcenterId CHAR(12),
    MOId CHAR(12),
    MOName NVARCHAR(50),
    WorkcenterName NVARCHAR(50),
    MODescription NVARCHAR(50),
    ProductId CHAR(12),
    ProductDescription NVARCHAR(200)
    )

    INSERT INTO #TB    (
    WorkcenterId,
    MOId,
    MOName,
    WorkcenterName,
    MODescription,
    ProductId,
    ProductDescription
    )
    SELECT m.WorkcenterId,m.MOId,m.MOName,w.WorkcenterName,m.MODescription,m.ProductId,pd.ProductDescription FROM  dbo.MO m 
        RIGHT OUTER JOIN dbo.Product pd ON pd.ProductId=m.ProductId
        RIGHT OUTER JOIN dbo.ProductRoot pr ON  pr.ProductRootId=pd.ProductRootId
        RIGHT OUTER JOIN dbo.Workcenter w ON w.WorkcenterId=m.WorkcenterId
        WHERE 
        --w.WorkcenterName='1030001'
            --MOName like '%'+@I_FiltCondition+'%'
              MOQtyRequired > ISNULL(MOQtyDone,0)
                AND m.MOStates NOT IN ('10','40','31','41','60')
                --AND m.WorkcenterId IN ('WKC1000001IK','WKC1000001IL')
                AND m.WorkcenterId=w.WorkcenterId
                ORDER BY MOId DESC 
    INSERT INTO #TB
    (
        WorkcenterId,
        MOId,
        MOName,
        WorkcenterName,
        MODescription,
        ProductId,
        ProductDescription
    )
    SELECT 'WKC1000001IO',m.MOId,m.MOName,'1030001',m.MODescription,m.ProductId,pd.ProductDescription FROM  dbo.MO m 
        RIGHT OUTER JOIN dbo.Product pd ON pd.ProductId=m.ProductId
        RIGHT OUTER JOIN dbo.ProductRoot pr ON  pr.ProductRootId=pd.ProductRootId
        RIGHT OUTER JOIN dbo.Workcenter w ON w.WorkcenterId=m.WorkcenterId
        WHERE 
        --w.WorkcenterName='1030001'
            --MOName like '%'+@I_FiltCondition+'%'
              MOQtyRequired > ISNULL(MOQtyDone,0)
                AND m.MOStates NOT IN ('10','40','31','41','60')
                AND m.WorkcenterId  ='WKC1000001IM'
                AND m.WorkcenterId=w.WorkcenterId
                ORDER BY MOId DESC 
    INSERT INTO #TB
    (
        WorkcenterId,
        MOId,
        MOName,
        WorkcenterName,
        MODescription,
        ProductId,
        ProductDescription
    )
    SELECT 'WKC1000001IP',m.MOId,m.MOName,'1030002',m.MODescription,m.ProductId,pd.ProductDescription FROM  dbo.MO m 
        RIGHT OUTER JOIN dbo.Product pd ON pd.ProductId=m.ProductId
        RIGHT OUTER JOIN dbo.ProductRoot pr ON  pr.ProductRootId=pd.ProductRootId
        RIGHT OUTER JOIN dbo.Workcenter w ON w.WorkcenterId=m.WorkcenterId
        WHERE 
        --w.WorkcenterName='1030001'
            --MOName like '%'+@I_FiltCondition+'%'
              MOQtyRequired > ISNULL(MOQtyDone,0)
                AND m.MOStates NOT IN ('10','40','31','41','60')
                AND m.WorkcenterId  ='WKC1000001IN'
                AND m.WorkcenterId=w.WorkcenterId
                ORDER BY MOId DESC 

    SELECT * FROM #TB

    DROP TABLE #TB

    END

  • 相关阅读:
    Linux环境变量配置在/etc/profile或/etc/profile.d/中有什么区别?
    VWware-安装AD域服务
    【学习草稿】
    基于springboot冷链物流信息调度系统毕业设计源码210951
    Paddle图神经网络训练-PGLBox代码阅读笔记
    Android开发基础——UI实践
    堆的介绍、堆的向上、 向下调整法与基本功能实现
    网页数据抓取-网页实时数据抓取软件
    内存问题难定位,那是因为你没用ASAN
    基于Python和mysql开发的在线音乐网站系统(源码+数据库+程序配置说明书+程序使用说明书)
  • 原文地址:https://blog.csdn.net/u013597888/article/details/127124184