2016-10-10 22 views
0

テキストファイルの末尾にトレーラーレコードを表示します SQLクエリは、私は、レコードの終わりにトレーラーレコードを表示したい

トレーラーレコード、次のようにスペックは以下のとおりです。

Field Name Length  Begin  End Type Mandatory/Optional Description 
TYPE   2   1  2  AN  M    TR' = Trailer 
RECORD COUNT 12   3  14  N  M    Record count not including Trailer Record 
PROCESS DATE 8   15  22  N  M    (system date YYYYMMDD Format) 
FILLER  278   23  300  AN  M    Space Filled 

Iをこのトレーラー・レコードを、すでに存在するレコードが約1500レコードあるテキスト・ファイルに表示しています。私は行の最後にこれを得ることができません。私はCount(*)とgetdate()関数を使用していますが、バッチファイル(.bat)を使ってテキストファイルを読み込んだり出力したりしません。

+2

あなたは現在あなたが試みていることについてあなたのコードを共有できますか?私の腸は、UNIONクエリが必要だと私に伝えますが、それ以上の情報なしで言うのは難しいです。 – JNevill

+0

UNIONを使用して実行できますが、すべてのデータ行と同じ列を持つことができる場合に限ります。 SQLによって返される行セットは、すべて同じ列を持たなければなりません。 – RBarryYoung

+0

私はすでに実行されたレコードを表示するために使用したコードを「Palak」として回答として投稿しました。今私は上記のスペックを持つトレーラーレコードを最後に別の行として表示したいと考えています。 – Palak

答えて

0
USE [st] 
GO 
/****** Object: StoredProcedure [dbo].[P_tnvin] Script Date: 10/10/2016 13:35:45 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER PROCEDURE [dbo].[P_tnvin] 
[email protected] nvarchar(30) 
/*,@effectiveDate nvarchar(8) 
,@VIN nvarchar(25) 
,@lname1 nvarchar(40) 
,@middle1 nvarchar(40) 
,@fname1 nvarchar(40) 
,@address1 nvarchar(50) 
,@city nvarchar(35) 
,@state nvarchar(2) 
,@zip varchar(5)*/ 
AS 
BEGIN 
SET NOCOUNT ON; 
Create Table TmpTNVINInfo 
    (
    VINRecord char(300) 
    ) 
INSERT INTO TmpTNVINInfo 
SELECT 
    (
     'VS' 
     + '12610' 
     + CONVERT(CHAR(30),LEFT(P.policyNum, 30)) 
     + CONVERT(CHAR(8),P.effectiveDate, 112) 
     + CONVERT(CHAR(25),LEFT(V.VIN, 25)) 
     + CONVERT(CHAR(40),LEFT(I.lname1, 40)) 
     + ' ' 
     + CONVERT(CHAR(20),LEFT(I.middle1, 20)) 
     + CONVERT(CHAR(40),LEFT(I.fname1, 40)) 
     + ' ' 
     + '   ' 
     + CONVERT(CHAR(50),LEFT(I.address1, 50)) 
     + CONVERT(CHAR(35),LEFT(I.city, 35)) 
     + CONVERT(CHAR(2),LEFT(I.state, 2)) 
     + CONVERT(CHAR(5),LEFT(I.zip, 5)) 
     + '      ' 
    )storedprocedure 
FROM 
    [st].[dbo].[Policy] P 
    JOIN 
    [st].[dbo].[Auto] A 
    ON 
    P.policyID = A.policyID 
    JOIN 
    [st].[dbo].[Vehicle] V 
    ON 
    A.autoID = V.autoID 
    JOIN 
    [st].[dbo].[Insured] I 
    ON 
    P.insuredID = I.insuredID 
WHERE 
    P.policyType = 1 --1=Auto 
    AND 
    P.status = 1 --1=Active 
    AND 
    P.policyNum NOT LIKE 'Q%' 
END 

/*SELECT * FROM TmpTNVINInfo 

/****** Cleanup Temp Table *******/ 
DROP TABLE TmpTNVINInfo*/ 

これは私がレコードを表示するために使用したコードです。

関連する問題