これは私が持っている種類のデータです:
ENT*2*2J*EI*A25530181
NM1*IL*1*DOBIAS*ROSE*M
RMR*AZ*10100314**362.45
DTM*582****RD8*20120301-20120331
ENT*3*2J*EI*A54700554
NM1*IL*1*LOMBARDO*LUIS*J
RMR*AZ*10100314**362.45
DTM*582****RD8*20120301-20120331
状況は、各行から情報を抽出し、それを別のテーブルに入力する必要があるということです。ENT で始まる行のように、コード A25530181 が必要で、それを別のテーブルに入れます。情報を抽出するためのすべてのロジックがダウンしています。カーソルなしで別のテーブルに配置する方法を理解する必要があります。このテーブルの最初の 4 行の情報が新しいテーブルの 1 行になります。そう
ENT*2*2J*EI*A25530181
NM1*IL*1*DOBIAS*ROSE*M
RMR*AZ*10100314**362.45
DTM*582****RD8*20120301-20120331
を使用して、上記のデータからクライアント コード、日付、および金額を新しいテーブルの 1 行に入力します。Row is DTM は日付を提供し、RMR の行はレートを提供します。情報を抽出するためのロジックがダウンしています。カーソルなしで新しいテーブルに入れるのに助けが必要です。
サンプル ロジックは次のとおりです。
SELECT @Asterisk1Pos = CHARINDEX(@Delimeter, REVERSE(DATA)) - 1
from @TEMP_TABLE
WHERE LEFT(DATA,3) = 'ENT'
SELECT TOP 1 RIGHT(DATA, @Asterisk1Pos)
from @TEMP_TABLE
WHERE LEFT(DATA,3) = 'ENT'
このようにして、1行だけの情報が得られます。