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

  • Home
  • SEARCH
  • 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 505925
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T06:38:54+00:00 2026-05-13T06:38:54+00:00

CREATE TABLE exmp_test ( id int, v1 int, v2 int, v3 int, v4 int

  • 0
CREATE TABLE exmp_test
(
id int, 
v1 int,
v2 int,
v3 int,
v4 int
)

SELECT * FROM exmp_test

id  v1  v2  v3  v4
1   2   4   6   7
1   4   77  3   8

I want to add the value of the [id] column to (whichever has least value for v1 ,v2 ,v3 ,v4) for each row.

As an example, for the first row, the [id] value should be add to v1 (because it has the lowest value). For the second row, the [id] value should be add to v3 (because it has the lowest value).

How would I write the SQL to do this?

  • 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-13T06:38:54+00:00Added an answer on May 13, 2026 at 6:38 am

    You could normalize the table in a CTE (common table expression), and then select the row with the minimum value. Based on the comment below your question, I’ve added priority for v1.

    ;with Normal as (
        select id, v1 as value, 1 as prio from YourTable
        union all select id, v2, 2 as prio from YourTable
        union all select id, v3, 3 as prio from YourTable
        union all select id, v4, 4 as prio from YourTable
    )
    select top 1 id, value
    from Normal
    where value = (
        select min(value) from Normal
    )
    order by prio
    

    After re-reading your question, here’s a way to look at the lowest value per row and add the id field to that:

    update t1
    set v1 = v1 + case when mincol = 1 then id else 0 end
    ,   v2 = v2 + case when mincol = 2 then id else 0 end
    ,   v3 = v3 + case when mincol = 3 then id else 0 end
    ,   v4 = v4 + case when mincol = 4 then id else 0 end
    from (
        select id, v1, v2, v3, v4,
            case 
              when v1 <= v2 and v1 <= v3 and v1 <= v4 then 1
              when v2 <= v3 and v2 <= v4 then 2
              when v3 <= v4 then 3
              else 4
             end as mincol
        from YourTable
    ) t1
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 318k
  • Answers 318k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer thanks to all of you for your kindness. I've finally… May 13, 2026 at 11:50 pm
  • Editorial Team
    Editorial Team added an answer Having Delphi 2010 with all its updates, and latest version… May 13, 2026 at 11:50 pm
  • Editorial Team
    Editorial Team added an answer Looks like you're making the problem harder by inlining the… May 13, 2026 at 11:50 pm

Related Questions

create table person ( name varchar(15), attr1 varchar(15), attr2 varchar(1), attr3 char(1), attr4 int
CREATE TABLE college ( id SERIAL PRIMARY KEY, SCHOOL VARCHAR(100), CColor VARCHAR(100), CCmascot VARCHAR(100)
create_table :categories_posts, :id => false do |t| t.column :category_id, :integer, :null => false t.column
CREATE TABLE #Temp (VisitingCount int, [Time] int ) DECLARE @DateNow DATETIME,@i int,@Time int set
CREATE TABLE #Temp (VisitingCount int, [Time] int, [Date] nvarchar(50) ) DECLARE @DateNow DATETIME,@i int,@Time

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.