Adding columns based on the value from the nearest column












0















I need to kind of normalize a table and specifically add values inside it in a different way.
So, I have this table which looks like this:



id | user_id | option1 
1 1 6


If this user has another option I need to update the column with a second option and place there the option. This would look like this:



   id | user_id | option1 | option2 |
1 1 6 7


But the problem is if there is another user and he also has an option, now the table should look like this:



   id | user_id | option1 | option2 |
1 1 6 7
2 2 3


The thing is that I need a query that whenever I need to insert an option it checks if the last column has a value and if not place the value there but if it has create another column and place it there, so that way each user would have only one row. What's the easiest way to do this?










share|improve this question

























  • I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

    – Martin
    Nov 25 '18 at 23:25













  • The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

    – Truica Sorin
    Nov 25 '18 at 23:29











  • I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

    – Martin
    Nov 25 '18 at 23:33
















0















I need to kind of normalize a table and specifically add values inside it in a different way.
So, I have this table which looks like this:



id | user_id | option1 
1 1 6


If this user has another option I need to update the column with a second option and place there the option. This would look like this:



   id | user_id | option1 | option2 |
1 1 6 7


But the problem is if there is another user and he also has an option, now the table should look like this:



   id | user_id | option1 | option2 |
1 1 6 7
2 2 3


The thing is that I need a query that whenever I need to insert an option it checks if the last column has a value and if not place the value there but if it has create another column and place it there, so that way each user would have only one row. What's the easiest way to do this?










share|improve this question

























  • I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

    – Martin
    Nov 25 '18 at 23:25













  • The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

    – Truica Sorin
    Nov 25 '18 at 23:29











  • I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

    – Martin
    Nov 25 '18 at 23:33














0












0








0








I need to kind of normalize a table and specifically add values inside it in a different way.
So, I have this table which looks like this:



id | user_id | option1 
1 1 6


If this user has another option I need to update the column with a second option and place there the option. This would look like this:



   id | user_id | option1 | option2 |
1 1 6 7


But the problem is if there is another user and he also has an option, now the table should look like this:



   id | user_id | option1 | option2 |
1 1 6 7
2 2 3


The thing is that I need a query that whenever I need to insert an option it checks if the last column has a value and if not place the value there but if it has create another column and place it there, so that way each user would have only one row. What's the easiest way to do this?










share|improve this question
















I need to kind of normalize a table and specifically add values inside it in a different way.
So, I have this table which looks like this:



id | user_id | option1 
1 1 6


If this user has another option I need to update the column with a second option and place there the option. This would look like this:



   id | user_id | option1 | option2 |
1 1 6 7


But the problem is if there is another user and he also has an option, now the table should look like this:



   id | user_id | option1 | option2 |
1 1 6 7
2 2 3


The thing is that I need a query that whenever I need to insert an option it checks if the last column has a value and if not place the value there but if it has create another column and place it there, so that way each user would have only one row. What's the easiest way to do this?







mysql






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 25 '18 at 23:23









Micha Wiedenmann

10.4k1364104




10.4k1364104










asked Nov 25 '18 at 23:19









Truica SorinTruica Sorin

737




737













  • I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

    – Martin
    Nov 25 '18 at 23:25













  • The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

    – Truica Sorin
    Nov 25 '18 at 23:29











  • I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

    – Martin
    Nov 25 '18 at 23:33



















  • I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

    – Martin
    Nov 25 '18 at 23:25













  • The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

    – Truica Sorin
    Nov 25 '18 at 23:29











  • I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

    – Martin
    Nov 25 '18 at 23:33

















I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

– Martin
Nov 25 '18 at 23:25







I would respectfully suggest that your database structure has not been thought through correctly if this is your scenario. The options should surely appear in their own table that has a FK to the user table?

– Martin
Nov 25 '18 at 23:25















The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

– Truica Sorin
Nov 25 '18 at 23:29





The table looks like this because i need to export it's content later in a text file so it's easier to keep the data like this

– Truica Sorin
Nov 25 '18 at 23:29













I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

– Martin
Nov 25 '18 at 23:33





I find that a difficult argument to accept; The structure you have adopted is not normalised, and is also the cause of the difficulty you are experiencing now.

– Martin
Nov 25 '18 at 23:33












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472999%2fadding-columns-based-on-the-value-from-the-nearest-column%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53472999%2fadding-columns-based-on-the-value-from-the-nearest-column%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Lallio

Futebolista

Jornalista