• Same statement rewritten as UPDATE FROM, with nonsense logic commented out:

    -- Formatted

    DECLARE @tempS AS nvarchar(150)

    DECLARE @tempW AS nvarchar(50)

    DECLARE @tempQ As nvarchar(5)

    UPDATE e SET

    @tempS = SKU1, -- collect value of SKU1 before any updates are applied to this row

    @tempW = WHSELOC1,

    @tempQ = QTY1,

    SKU1 = Case

    When SKU2 = u.SKUVAL Then SKU2

    When SKU3 = u.SKUVAL Then SKU3

    When SKU4 = u.SKUVAL Then SKU4

    When SKU5 = u.SKUVAL Then SKU5

    When SKU6 = u.SKUVAL Then SKU6

    When SKU7 = u.SKUVAL Then SKU7

    When SKU8 = u.SKUVAL Then SKU8

    When SKU9 = u.SKUVAL Then SKU9

    When SKU10 = u.SKUVAL Then SKU10

    When SKU11 = u.SKUVAL Then SKU11

    When SKU12 = u.SKUVAL Then SKU12

    When SKU13 = u.SKUVAL Then SKU13

    When SKU14 = u.SKUVAL Then SKU14

    When SKU15 = u.SKUVAL Then SKU15

    else 'S??' End,

    WHSELOC1 = Case

    When SKU2 = u.SKUVAL Then WHSELOC2

    When SKU3 = u.SKUVAL Then WHSELOC3

    When SKU4 = u.SKUVAL Then WHSELOC4

    When SKU5 = u.SKUVAL Then WHSELOC5

    When SKU6 = u.SKUVAL Then WHSELOC6

    When SKU7 = u.SKUVAL Then WHSELOC7

    When SKU8 = u.SKUVAL Then WHSELOC8

    When SKU9 = u.SKUVAL Then WHSELOC9

    When SKU10 = u.SKUVAL Then WHSELOC10

    When SKU11 = u.SKUVAL Then WHSELOC11

    When SKU12 = u.SKUVAL Then WHSELOC12

    When SKU13 = u.SKUVAL Then WHSELOC13

    When SKU14 = u.SKUVAL Then WHSELOC14

    When SKU15 = u.SKUVAL Then WHSELOC15

    else 'W??' End,

    QTY1 = Case

    When SKU2 = u.SKUVAL Then QTY2

    When SKU3 = u.SKUVAL Then QTY3

    When SKU4 = u.SKUVAL Then QTY4

    When SKU5 = u.SKUVAL Then QTY5

    When SKU6 = u.SKUVAL Then QTY6

    When SKU7 = u.SKUVAL Then QTY7

    When SKU8 = u.SKUVAL Then QTY8

    When SKU9 = u.SKUVAL Then QTY9

    When SKU10 = u.SKUVAL Then QTY10

    When SKU11 = u.SKUVAL Then QTY11

    When SKU12 = u.SKUVAL Then QTY12

    When SKU13 = u.SKUVAL Then QTY13

    When SKU14 = u.SKUVAL Then QTY14

    When SKU15 = u.SKUVAL Then QTY15

    else '999' End,

    QTY2 = Case

    When SKU2 <> u.SKUVAL Then QTY2

    When QTY2 = 0 Then 0

    else @tempQ End,

    SKU2 = Case

    When SKU2 <> u.SKUVAL Then SKU2

    --When SKU2 = NULL Then NULL

    else @tempS End,

    WHSELOC2 = Case

    When SKU2 <> u.SKUVAL Then WHSELOC2

    --When WHSELOC2 = NULL Then NULL

    else @tempW End,

    QTY3 = Case

    When SKU3 <> u.SKUVAL Then QTY3

    When QTY3 = 0 Then 0

    else @tempQ End,

    SKU3 = Case

    When SKU3 <> u.SKUVAL Then SKU3

    --When SKU3 = NULL Then NULL

    else @tempS End,

    WHSELOC3 = Case

    When SKU3 <> u.SKUVAL Then WHSELOC3

    --When WHSELOC3 = NULL Then NULL

    else @tempW End,

    QTY4 = Case

    When SKU4 <> u.SKUVAL Then QTY4

    When QTY4 = 0 Then 0

    else @tempQ End,

    SKU4 = Case

    When SKU4 <> u.SKUVAL Then SKU4

    --When SKU4 = NULL Then NULL

    else @tempS End,

    WHSELOC4 = Case

    When SKU4 <> u.SKUVAL Then WHSELOC4

    --When WHSELOC4 = NULL Then NULL

    else @tempW End,

    QTY5 = Case

    When SKU5 <> u.SKUVAL Then QTY5

    When QTY5 = 0 Then 0

    else @tempQ End,

    SKU5 = Case

    When SKU5 <> u.SKUVAL Then SKU5

    --When SKU5 = NULL Then NULL

    else @tempS End,

    WHSELOC5 = Case

    When SKU5 <> u.SKUVAL Then WHSELOC5

    --When WHSELOC5 = NULL Then NULL

    else @tempW End,

    QTY6 = Case

    When SKU6 <> u.SKUVAL Then QTY6

    When QTY6 = 0 Then 0

    else @tempQ End,

    SKU6 = Case

    When SKU6 <> u.SKUVAL Then SKU6

    --When SKU6 = NULL Then NULL

    else @tempS End,

    WHSELOC6 = Case

    When SKU6 <> u.SKUVAL Then WHSELOC6

    --When WHSELOC6 = NULL Then NULL

    else @tempW End,

    QTY7 = Case

    When SKU7 <> u.SKUVAL Then QTY7

    When QTY7 = 0 Then 0

    else @tempQ End,

    SKU7 = Case

    When SKU7 <> u.SKUVAL Then SKU7

    --When SKU7 = NULL Then NULL

    else @tempS End,

    WHSELOC7 = Case

    When SKU7 <> u.SKUVAL Then WHSELOC7

    --When WHSELOC7 = NULL Then NULL

    else @tempW End,

    QTY8 = Case

    When SKU8 <> u.SKUVAL Then QTY8

    When QTY8 = 0 Then 0

    else @tempQ End,

    SKU8 = Case

    When SKU8 <> u.SKUVAL Then SKU8

    --When SKU8 = NULL Then NULL

    else @tempS End,

    WHSELOC8 = Case

    When SKU8 <> u.SKUVAL Then WHSELOC8

    --When WHSELOC8 = NULL Then NULL

    else @tempW End,

    QTY9 = Case

    When SKU9 <> u.SKUVAL Then QTY9

    When QTY9 = 0 Then 0

    else @tempQ End,

    SKU9 = Case

    When SKU9 <> u.SKUVAL Then SKU9

    --When SKU9 = NULL Then NULL

    else @tempS End,

    WHSELOC9 = Case

    When SKU9 <> u.SKUVAL Then WHSELOC9

    --When WHSELOC9 = NULL Then NULL

    else @tempW End,

    QTY10 = Case

    When SKU10 <> u.SKUVAL Then QTY10

    When QTY10 = 0 Then 0

    else @tempQ End,

    SKU10 = Case

    When SKU10 <> u.SKUVAL Then SKU10

    --When SKU10 = NULL Then NULL

    else @tempS End,

    WHSELOC10 = Case

    When SKU10 <> u.SKUVAL Then WHSELOC10

    --When WHSELOC10 = NULL Then NULL

    else @tempW End,

    QTY11 = Case

    When SKU11 <> u.SKUVAL Then QTY11

    When QTY11 = 0 Then 0

    else @tempQ End,

    SKU11 = Case

    When SKU11 <> u.SKUVAL Then SKU11

    --When SKU11 = NULL Then NULL

    else @tempS End,

    WHSELOC11 = Case

    When SKU11 <> u.SKUVAL Then WHSELOC11

    --When WHSELOC11 = NULL Then NULL

    else @tempW End,

    QTY12 = Case

    When SKU12 <> u.SKUVAL Then QTY12

    When QTY12 = 0 Then 0

    else @tempQ End,

    SKU12 = Case

    When SKU12 <> u.SKUVAL Then SKU12

    --When SKU12 = NULL Then NULL

    else @tempS End,

    WHSELOC12 = Case

    When SKU12 <> u.SKUVAL Then WHSELOC12

    --When WHSELOC12 = NULL Then NULL

    else @tempW End,

    QTY13 = Case

    When SKU13 <> u.SKUVAL Then QTY13

    When QTY13 = 0 Then 0

    else @tempQ End,

    SKU13 = Case

    When SKU13 <> u.SKUVAL Then SKU13

    --When SKU13 = NULL Then NULL

    else @tempS End,

    WHSELOC13 = Case

    When SKU13 <> u.SKUVAL Then WHSELOC13

    --When WHSELOC13 = NULL Then NULL

    else @tempW End,

    QTY14 = Case

    When SKU14 <> u.SKUVAL Then QTY14

    When QTY14 = 0 Then 0

    else @tempQ End,

    SKU14 = Case

    When SKU14 <> u.SKUVAL Then SKU14

    --When SKU14 = NULL Then NULL

    else @tempS End,

    WHSELOC14 = Case

    When SKU14 <> u.SKUVAL Then WHSELOC14

    --When WHSELOC14 = NULL Then NULL

    else @tempW End,

    QTY15 = Case

    When SKU15 <> u.SKUVAL Then QTY15

    When QTY15 = 0 Then 0

    else @tempQ End,

    SKU15 = Case

    When SKU15 <> u.SKUVAL Then SKU15

    --When SKU15 = NULL Then NULL

    else @tempS End,

    WHSELOC15 = Case

    When SKU15 <> u.SKUVAL Then WHSELOC15

    --When WHSELOC15 = NULL Then NULL

    else @tempW End

    FROM dbo.EXPORTMAIN e

    LEFT JOIN dbo.UPDATEHROW1 u ON u.ID = e.ID

    WHERE e.UPLOADDATE = '" & sqluHd & "'

    AND e.ID IN (SELECT ID from dbo.UPDATEHROW1 WHERE MaxVal <> 0)

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden