Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 328755
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T09:31:29+00:00 2026-05-12T09:31:29+00:00

I have this sql: UPDATE JOBMAKE SET WIP_STATUS=’10sched1′ WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM

  • 0

I have this sql:

UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = 21)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = 21)

It works until I turn it into a parameterised query:

UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = @jvst_id)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = @jvst_id)

Duplicated parameter names are not allowed. [  Parameter name = @jvst_id ]

I tried this (which i think would work in SQL SERVER 2005 – although I haven’t tried it):

UPDATE JOBMAKE 
SET WIP_STATUS='10sched1' 
FROM JOBMAKE JM,JOBVISIT JV
WHERE  JM.JOB_NUMBER = JV.JOB_NUMBER
AND JM.JBT_TYPE = JV.JBT_TYPE 
AND JV.JVST_ID = 21
There was an error parsing the query. [ Token line number = 3,Token line offset = 1,Token in error = FROM ]

So, I can write dynamic sql instead of using parameters, or I can pass in 2 parameters with the same value, but does someone know how to do this a better way?

Colin

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T09:31:29+00:00Added an answer on May 12, 2026 at 9:31 am

    Your second attempt doesn’t work because, based on the Books On-Line entry for UPDATE, SQL CE does’t allow a FROM clause in an update statement.

    I don’t have SQL Compact Edition to test it on, but this might work:

    UPDATE JOBMAKE
    SET WIP_STATUS = '10sched1'
    WHERE EXISTS (SELECT 1
                  FROM JOBVISIT AS JV
                  WHERE JV.JBT_TYPE   = JOBMAKE.JBT_TYPE
                  AND   JV.JOB_NUMBER = JOBMAKE.JOB_NUMBER
                  AND   JV.JVST_ID    = @jvst_id
                 )
    

    It may be that you can alias JOBMAKE as JM to make the query slightly shorter.

    EDIT

    I’m not 100% sure of the limitations of SQL CE as they relate to the question raised in the comments (how to update a value in JOBMAKE using a value from JOBVISIT). Attempting to refer to the contents of the EXISTS clause in the outer query is unsupported in any SQL dialect I’ve come across, but there is another method you can try. This is untested but may work, since it looks like SQL CE supports correlated subqueries:

    UPDATE JOBMAKE 
    SET WIP_STATUS = (SELECT JV.RES_CODE 
                      FROM JOBVISIT AS JV 
                      WHERE JV.JBT_TYPE = JOBMAKE.JBT_TYPE 
                      AND   JV.JOB_NUMBER = JOBMAKE.JOB_NUMBER 
                      AND   JV.JVST_ID = 20
                     )
    

    There is a limitation, however. This query will fail if more than one row in JOBVISIT is retuned for each row in JOBMAKE.
    If this doesn’t work (or you cannot straightforwardly limit the inner query to a single row per outer row), it would be possible to carry out a row-by-row update using a cursor.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.