• Sorry If I confuse you. Yes, first I said my source is SQL and yes the original source is my .txt. I thought it is easy for me to load the data into STG and do SQL to parse that data. Anyway, Below is the "While Loop" that I am using to parse the data.
    I couldn't figure it out how can I pull One Batch (One Bath start from source_id = '21' to Next source_id = '21') then I can parse the field one by one and load into my destination tables.

    Jon, I am sure now I didn't confuse you more.


      DECLARE @loopA_id INT ,
                    @loopA_times INT ,
                        
                    @Address VARCHAR(50),
                    @CITY     VARCHAR(20),
                    @iNVOICE    VARCHAR(200),
                    @Sta_id        VARCHAR(20);

       SET @loopA_id = 1;
       SET @loopA_times = 0;

    -- Create Loop Tables
       IF OBJECT_ID('tempdb..#ExactMatch') IS NOT NULL
        BEGIN
          DROP TABLE #ExactMatch;
        END;

       CREATE TABLE #ExactMatch
        (
         codA_id INT IDENTITY(1, 1) NOT NULL PRIMARY KEY ,
         sta_id VARCHAR(20),
           );

                        -- Load Loop Table
       INSERT INTO #ExactMatch
          (
                        sta_id
          )
          SELECT DISTINCT
            sta_id
                         FROM SourceTable_EIVA
          WHERE source_id = '21'

                                -- Set Loop Times Variable
       SET @loopA_times = @@rowcount;

       WHILE @loopA_id <= @loopA_times
        BEGIN

          SELECT
                            @Address = e.Address1
                            ,@CITY = e.City
                            ,@iNVOICE = (
                                                SELECT Invoice_Detail FROM SourceTable_EIVA e WHERE e.source_id = '31' --s.sta_id
                                                    --OR source_id = '31'
                                        )
                            ,@Sta_id = s.sta_id
          FROM  #ExactMatch s
                    INNER JOIN SourceTable_EIVA e ON e.sta_id = s.sta_id
          WHERE codA_id = @loopA_id;

                    INSERT INTO DestinationTable_A_Eivav (Invoice#,Address1,City,Sta_id)
                    VALUES (@iNVOICE,@Address,@CITY,@Sta_id)

          SET @loopA_id = @loopA_id + 1;
        END;