Bpalmereng Ответов: 1

Добавление/вычитание для получения результата SQL-кодирования


Может ли кто-нибудь помочь мне объяснить, как брать значения int в SQL из строк и создавать итоговую сумму, которая обновляет поле без необходимости делать математику вручную? Или пример для просмотра, чтобы я мог лучше понять MYSQL и как он будет работать


CREATE TABLE [dbo].[Table]
(
	[Id] INT NOT NULL PRIMARY KEY, 
    [Type] VARCHAR(50) NULL, 
    [MUTCD] VARCHAR(50) NULL, 
    [Sign] VARCHAR(50) NULL, 
    [Size] VARCHAR(50) NULL, 
    [Hi_Int] VARCHAR(50) NULL, 
    [Beginning_Inventory] INT NULL, 
    [Purchased_Inventory] INT NULL, 
    [Used_Inventory] INT NULL, 
    [Ending_Inventory] INT NULL
)


В разделе ниже приведены 4 поля, которые мне нужно добавить и вычесть.
Мне нужно Purchased_Inventory, чтобы добавить в общей сложности, Used_Inventory, чтобы вычесть из общего количества. Затем результат будет отправлен в ячейку Ending_Inventory.
[Beginning_Inventory] INT NULL, 
    [Purchased_Inventory] INT NULL, 
    [Used_Inventory] INT NULL, 
    [Ending_Inventory] INT NULL


Начальный Инвентарь= 30
Приобретенный Инвентарь= 5
Used_Inventory= 15
Общий запас= результат (30+5-15=20)

Для этого мне в основном нужен мой код базы данных SQL..



Если это все еще неясно, пожалуйста, дайте мне знать, и я постараюсь перефразировать его лучше.

Что я уже пробовал:

Я смотрел на вещи о том, как это сделать, но я просто не уверен. Этот веб-сайт имеет лучшие ресурсы и знания, а также ответы легче понять. Спасибо, что уделили мне время.

[no name]

"30+5-15=25", забудьте про инвентарь, можете ли вы устроиться работать в мой банк?

"все еще неясно", несмотря на все ваши публикации и удаление публикаций, было неясно, *что вы пробовали*.

Bpalmereng

Да, я допустил ошибку, я раздражен, потому что вместо того, чтобы задавать вопросы и заставлять меня перефразировать сообщение, оно удаляется. Все, что я вижу люди получают итоговые данные из столбцов. Где, как я пытаюсь получить общую сумму для каждой отдельной строки.


выберите ID, Beginning_Inventory, Purchased_Inventory, Used_Inventory,
Beginning_Inventory + Purchased_Inventory - Used_Inventory как Total_Inventory
С моего стола;
Это я понимаю. Чего я не понимаю, так это как сделать так, чтобы это автоматически вставлялось в поле последних столбцов.

1 Ответов

Рейтинг:
4

CHill60

Посмотрите, что вы сделали вручную...
Вы приняли ценность Beginning_Inventory и добавил ценность Purchased_Inventory затем вычитается значение Used_Inventory

Интересно, что произойдет,если вы сделаете это в операторе SELECT...

select Id, Beginning_Inventory, Purchased_Inventory, Used_Inventory, 
Beginning_Inventory + Purchased_Inventory - Used_Inventory as Total_Inventory
FROM myTable;


Есть несколько примеров того, как MySQL работает по этой ссылке - MySQL Tutorial-MySQL by Examples for Beginners[^]

[РЕДАКТИРОВАТЬ]
Если вы хотите обновить последний столбец, то синтаксис таков
UPDATE myTable SET Ending_Inventory = Beginning_Inventory + Purchased_Inventory - Used_Inventory;
Обратите внимание, что это не очень хорошая практика - просто рассчитайте окончательный запас, когда он вам нужен, а не храните постороннюю информацию


Bpalmereng

Правильно, но я не пытаюсь получить общее количество этих столбцов из-за того, что у меня есть несколько строк. Я пытаюсь получить общую сумму для строки из нескольких столбцов, а затем отправить эту запись в последний столбец в той же строке. "Кстати, я также могу попытаться сделать что-то, что невозможно, я просто не хочу создавать таблицу для каждого отдельного элемента, который нуждается в инвентаризации.

Идентификатор | инвентаризации начало | приобретенные | используемые | общая
1 30 10 15 25
1 30 10 15 25
1 30 10 15 25
1 30 10 15 25
1 30 10 15 25
1 30 10 15 25

CHill60

Я обновил свое решение.

Bpalmereng

Большое вам спасибо, что ответили на мой вопрос и посоветовали.