• 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

  • 相关阅读:
    通过机器视觉对硬盘容器上盖的字符进行视觉识别,判断是否混料
    电影影院购票管理系统
    Ubuntu虚拟机部署OpenStack
    springboot url路径映射本地静态资源
    STM32H750VBT6驱动程控增益放大模块PGA113——基于CubeMX的Hal库
    阿里云无影云电脑app在哪下载?
    Python 考试练习题 2
    神奇的 SQL ,同时实现小计与合计,阁下该如何应对
    【Java】类和接口的区别
    Java —— 抽象类和接口
  • 原文地址:https://blog.csdn.net/u013597888/article/details/127124184