У меня есть таблица базы данных, как это:почасовой заработной платы Расчет
wagetable
name lowhours highhours wage
Default 0 40 10
Default 40 9999 15
Brian 0 40 15
Brian 40 50 20
Brian 50 9999 22
Chad 0 40 13
Chad 40 9999 17
Если 'Brian' работал 43.5151587 часов, я хочу, чтобы это понять, что он сделал (40 * 15) + (3,5151587 * 20) = 670,303174.
Это база данных SQLite, так что я знаю, что я буду использовать:
SELECT wage FROM wagetable WHERE name LIKE 'Brian' AND 'HourNum' BETWEEN lowhours AND highhours;
С комбинацией пола и% ... Я просто не прикладывая логику вместе в моей голове.
Обратите внимание, что ответы на C# и PHP приняты, так как я могу преобразовать логику в то, что мне нужно. Я ищу псевдокод, но соглашусь вычеркнуть ответы
Редактировать: обратите внимание ... Отработанные часы никогда не будут точным целым числом, почему я допускаю, что перекрытие произойдет.
Edit2:
Я хочу взять сотрудник общего количества отработанных часов (пример: 43,5151587), а затем осознать, что первые 40 часов, он делает стандартную плату @ $ 15 в час. поэтому (40 * 15) ... Затем он работал 3.5151587 часов сверхурочной работы @ $ 20 в час. так (40 * 15) добавить к нему (3.5151587 * 20) ... Общая сумма заработанных была 670.303174
Привет, Логика мне не понятна. Цифры в тексте между вашей примерной таблицей не соответствуют номерам в самой таблице - возможно, это проще, если вы выровняете их. Разработка немного больше по вашему желаемому поведению может не повредить. – Nicolas78
Я что-то недопонимаю? '40 * 15 = 600' и' 3.5151587 * 20 = 70.303174', поэтому общая сумма заработала '670.303174' ...? – GenericTypeTea
Извините, чертовски оконный калькулятор снял ответ, и я принял это как должное ... – ParoX