В нашем приложении мы используем SQL Server 2012. Я сталкиваюсь с ситуацией, когда я не могу придумать один запрос (без цикла), который решит мою цель. Позвольте мне объяснить это.В SQL, разделите количество из нескольких строк
У меня есть Travel стол -
ID State Days_Count Remaining_Days
1 AL 20 -
2 AL 2 -
3 AL 14 -
У меня есть еще один стол для Travel_Sum
State Days_Sum Max_Limit Exceeding_Amt
AL 36 12 24
Есть несколько записей для других государств. Я пытаюсь написать один запрос, который будет обновлять оставшиеся дни с Exceeding_Amt. В этом примере значение столбца Exceeding_Amt равно 24. Таким образом, в первой таблице я пытаюсь обновить значение 20 (максимальное значение days_Count) против оставшихся дней, 2 против второй строки и (24-20-2) 2 против последней строки ,
В основном я должен разделить большее количество (т.е. 24) среди строк первой таблицы, где совпадение состояний. Итак, чтобы разделить 24, я хочу обновить оставшиеся_данные первой строки как 20. Потому что я не могу обновить значение, которое больше, чем days_count. У меня осталось 4 дня. Для второй строки, Days_count равно 2. Поэтому я обновил эту строку с помощью 2 (максимальное значение, которое мне разрешено ввести). В третьей строке я обновил значение столбца Remaining_Days с оставшимися 2 днями.
Желаемый результат:
ID State Days_Count Remaining_Days
1 AL 20 20
2 AL 2 2
3 AL 14 2
Этот вопрос может привести к путанице. Если это так, пожалуйста, дайте мне знать. Я постараюсь изо всех сил дать правильное понимание.
Ну, для начала, вы можете написать результат, который вы хотите – Lamak
Хорошо, я сделаю это за минуту – Kartic
Это действительно сбивает с толку, но похоже, что вы можете быть после расчетного поля? –