Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我需要链接表dbo.RMY_LEAD_TIME,并获取var项的.stocklevel和.LeadTime_天_Sql Server - Fatal编程技术网

Sql server 我需要链接表dbo.RMY_LEAD_TIME,并获取var项的.stocklevel和.LeadTime_天

Sql server 我需要链接表dbo.RMY_LEAD_TIME,并获取var项的.stocklevel和.LeadTime_天,sql-server,Sql Server,我想我需要一个嵌套选择来捕获RMY_LEAD_TIME的信息。此功能将获取提前期天数或库存水平 我可以复制此跳过的函数。我写这篇文章是为了获取项目编号,现在我想修改它以从另一个表中获取相应的信息。物料编号与另一张表上的物料编号匹配 SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE FUNCTION [dbo].[udf_BuildPartNumber] (@storeNo varchar(5), @shipDate d

我想我需要一个嵌套选择来捕获RMY_LEAD_TIME的信息。此功能将获取提前期天数或库存水平

我可以复制此跳过的函数。我写这篇文章是为了获取项目编号,现在我想修改它以从另一个表中获取相应的信息。物料编号与另一张表上的物料编号匹配

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

CREATE FUNCTION [dbo].[udf_BuildPartNumber]
     (@storeNo varchar(5), @shipDate datetime, @carNo varchar(50))
RETURNS varchar(2000) 
AS
BEGIN
    DECLARE @items varchar(2000)

    SELECT 
        @items = ISNULL(@items + '^','') + im.ITEM_NUMBER
    FROM 
        dbo.TRANSFERS t
    LEFT OUTER JOIN 
        MatDump.dbo.ITM_MSTR im ON SUBSTRING(t.cic, 1,9) + '0' =  im.CIC  
    INNER JOIN 
        dbo.TRANSFER_CARS tc ON t.TRANSFER_ID = tc.TRANSFER_ID
    WHERE 
        t.date_shipped = @shipDate 
        AND t.TO_STORE_ID = @storeNo 
        AND tc.CAR_NUM = @carNo
    ORDER BY 
        t.SEQ_OR_ID_NUM 

    RETURN @items END 

我调用这两个函数从RMY_LEAD_时间表返回Stocklevel和LeadTime。肖恩·兰格,谢谢你的建设性批评。当我试图完善我的问题时,我能够更好地自己做研究并得到答案。再次感谢。

这里有什么问题?似乎您有一个函数,出于某种原因您想更改它,但正如发布的消息所示,您在此处尝试执行的操作一点也不清楚。此函数返回ITEM_NUMBER,我需要使用ITEM_NUMBER在尚未使用的表上交叉引用Material_NUMBER。当我尝试编写新的select时,我得到一个错误嗯…我不知道你的表结构是什么样的,我甚至不知道你试图使用的是什么表,我不知道你得到的错误消息是什么。现在,你的问题就像把你的车带到修理厂,说你想对它进行改装,但没有提供任何你想要的细节。除非您能提供一些详细信息,否则我们无法提供帮助。表1 RMY\U交付周期有物料编号、库存级别。表2传输有CIC参考号、序列号或ID号、到存储号、发货日期、传输号、表3传输号、车有传输号、车号、表4 ITM主控器有项目号,该功能可以正确工作,只要给我汽车库存中每个项目的相应零件号。我想尝试获取该零件号,并从RMY_LEAD_TIME获得每个项目的重新进货水平。通过将@partNum与RMY_LEAD_TIME.MaterialNumber进行比较,我可以获得该项目的重新进货水平。
ALTER FUNCTION [dbo].[Udf_buildleadtime] (@storeNo  VARCHAR(5),
                                          @shipDate DATETIME,
                                          @carNo    VARCHAR(50))
returns VARCHAR(2000)
AS
  BEGIN
      DECLARE @ldTm VARCHAR(2000)
      DECLARE @partNum VARCHAR(2000)

      SELECT @ldTm = Isnull(@ldTm + '^', '') + leadtime_days
      FROM   dbo.transfers t
             LEFT OUTER JOIN matdump.dbo.itm_mstr im
                          ON Substring(t.cic, 1, 9) + '0' = im.cic
             INNER JOIN dbo.transfer_cars tc
                     ON t.transfer_id = tc.transfer_id
             LEFT JOIN dbo.rmy_lead_time rlt
                    ON rlt.material_number = im.item_number + '-' +
                                             im.condition_code
      WHERE  t.date_shipped = @shipDate
             AND t.to_store_id = @storeNo
             AND tc.car_num = @carNo
      ORDER  BY t.seq_or_id_num

      RETURN @ldTm
  END

CREATE FUNCTION [dbo].[Udf_buildleadtime] (@storeNo  VARCHAR(5),
                                           @shipDate DATETIME,
                                           @carNo    VARCHAR(50))
returns VARCHAR(2000)
AS
  BEGIN
      DECLARE @ldTm VARCHAR(2000)
      DECLARE @partNum VARCHAR(2000)

      SELECT @ldTm = Isnull(@ldTm + '^', '') + leadtime_days
      FROM   dbo.transfers t
             LEFT OUTER JOIN matdump.dbo.itm_mstr im
                          ON Substring(t.cic, 1, 9) + '0' = im.cic
             INNER JOIN dbo.transfer_cars tc
                     ON t.transfer_id = tc.transfer_id
             LEFT JOIN dbo.rmy_lead_time rlt
                    ON rlt.material_number = im.item_number + '-' +
                                             im.condition_code
      WHERE  t.date_shipped = @shipDate
             AND t.to_store_id = @storeNo
             AND tc.car_num = @carNo
      ORDER  BY t.seq_or_id_num

      RETURN @ldTm
  END

SELECT CASE tc.istruck
         WHEN 0 THEN tc.car_num
         ELSE tc.car_num + ' (Truck)'
       END
       AS CarNo,
       t.to_store_id
       AS ToStore,
       dbo.Udf_builditemlistbystore(t.to_store_id, t.date_shipped, tc.car_num)
       AS
       Contents,
       (SELECT Isnull(Substring(e.first_name, 1, 1), '')
               + ' '
               + Isnull(Substring(e.middle_name, 1, 1), '')
               + ' ' + e.last_name
        FROM   prodgang.dbo.stores s
               LEFT OUTER JOIN chris.dbo.employee e
                            ON s.jobcode = e.jobcode
        WHERE  s.storeno = t.to_store_id
               AND s.division <> 25)
       AS Consignee,
       (SELECT s.location
        FROM   prodgang.dbo.stores s
        WHERE  s.storeno = t.to_store_id
               AND s.division <> 25)
       AS Destination,
       dbo.Udf_buildstockinglevel(t.to_store_id, t.date_shipped, tc.car_num)
       AS
       StockingLevel,
       dbo.Udf_buildleadtime(t.to_store_id, t.date_shipped, tc.car_num)
       AS LeadTime
FROM   dbo.transfers t
       LEFT OUTER JOIN dbo.transfer_cars tc
                    ON t.transfer_id = tc.transfer_id
WHERE  t.date_shipped = @shipDate
       AND t.qty_shipped <> 0
ORDER  BY t.to_store_id,
          t.seq_or_id_num