разве нельзя как-то определить причину?Как убитый может определить причину своей смерти?
У меня была идея, что бы моё приложение после каждого запуска записывала, что оно начала работать (например, Старт), если пользователь сам закрыл программу, то записать в файл Успех, а если будет не Успех (тот самый случай, когда прогу закрыл не пользователь), тогда ничего не запишется, логично. Но! Когда пользователь заново запустит програму она увидит, что последняя запись в файле будет Старт, она поймёт, что последний раз завершилась не пользователем и будет искать причину в логах винды. Файл выступает в роле логов приложения.Это и есть то самое "прошлый раз приложение было завершено неизвестным образом".
т.е. каких-то особых условий, которые вы перечислили, точно нетЯ в этом очень сомневаюсь. В большинстве стран так или иначе трудовое законодательство достаточно щепетильно к разгого рода переработкам и их оплатам. Притом зависимости доплат за переработки - совершенно нелинейны и законодательно могут описываться как "за первый час - x, за каждые последующие до 5 - 2*x, но не более чем Y ".
Как показала фактическая практика последних лет 15 - @table работает эффективнее #table/##table. И планировщик прекрасно с ними обращается. Опять же фактическая практика показала, что во многих случаях join @table оказывается быстрее join cte (@table наполняется тем же что было в cte)