STUFF 함수를 사용하여 여러 행 값을 열로 검색하고 있습니다.레코드에서 추가 delimeter 제거
ALTER PROCEDURE [dbo].[PrintOutlettoOutletTransfer]
@TransferCode varchar(20),
@token nvarchar(50)
AS
BEGIN
DECLARE @Isprint AS int
DECLARE @user AS VARCHAR(50)
DECLARE @PcIp AS VARCHAR(50)
DECLARE @PcName AS VARCHAR(50)
DECLARE @AditUserName AS VARCHAR(100)
DECLARE @outlet AS VARCHAR(100)
DECLARE @ServerName AS VARCHAR(200)
SET @user = ''
-- Retrive data from user login history from Tocken
SELECT
@user = UserLogInHistory.UserId,
@PcIp = LogInIp,
@outlet=OutletCode,
@ServerName = ServerId,
@AditUserName = Users.UserFullName
from UserLogInHistory
inner join Users on Users.UserId = UserLogInHistory.UserId
where UserTokenId = @token;
SELECT
ISNULL(InventoryTransferHeader.TransferCode,'') AS 'TransferId',
ISNULL(InventoryTransferHeader.TransferDate,'') AS 'TransferDate',
ISNULL(InventoryTransferLine.ItemCode,'') AS 'ItemCode',
ISNULL(InventoryTransferLine.ItemDescription,'') AS 'ItemDescription',
ISNULL(InventoryTransferLine.Qty,'') AS 'Qty',
STUFF((SELECT InventoryTransferSerials.SerialNo + '/'
FROM InventoryTransferSerials
WHERE InventoryTransferSerials.ItemCode = InventoryTransferLine.ItemCode
AND InventoryTransferSerials.TransferCode = InventoryTransferHeader.TransferCode
FOR XML PATH('')),1,1,'') AS 'SN',
ISNULL(InventoryStatus.Description,'') AS 'InventoryStatus',
ISNULL(InventoryTransferHeader.FromOutlet,'') AS 'outletFrom' ,
ISNULL(F.OutletDesc,'') AS 'fromOutletsDesc',
ISNULL(InventoryTransferHeader.TOOutlet,'') AS 'outletTO' ,
ISNULL(T.OutletDesc,'') AS 'toOutletsDesc'
FROM InventoryTransferHeader
INNER JOIN
Outlets F ON InventoryTransferHeader.FromOutlet = F.OutletCode
INNER JOIN
Outlets T ON InventoryTransferHeader.ToOutlet = T.OutletCode
LEFT OUTER JOIN
InventoryStatus on InventoryStatus.StatusCode = InventoryTransferHeader.InventoryStatus
LEFT OUTER JOIN
InventoryTransferLine ON InventoryTransferLine.TransferCode = InventoryTransferHeader.TransferCode
WHERE (InventoryTransferHeader.TransferCode = @TransferCode OR @TransferCode = '') AND (InventoryStatus.StatusCode = 1 OR InventoryStatus.StatusCode = 2)
--- Insert Values to Audit table
INSERT INTO PrintHistory
([DocType],[Reference],[AuditOutlet],[AuditUser],[AuditDate],[AuditType],[AuditIp],[AuditPc],[AuditUserName])
values
('OutletToOutletInventoryTransfer',@TransferCode,@outlet,@user,GETDATE(),'1',@PcIp,@ServerName,@AditUserName);
UPDATE InventoryTransferHeader
SET InventoryTransferHeader.[Print] = 1,
InventoryTransferHeader.[PrintUser] = @user,
InventoryTransferHeader.[PrintDate] = GETDATE()
WHERE InventoryTransferHeader.TransferCode = @TransferCode AND InventoryTransferHeader.[Print] = 0;
END
다음과 같이 출력됩니다.
0,000,227/10,000,229분의 10,000,228/10,000,231분의 10,000,230/
나는 기록에서 "/"추가를 제거 할.
도와주세요.
정확히 추가 슬래시 무엇입니까? –
"/"끝에. –