Я бы вставил запрос на соединение:
INSERT INTO FinalTable (name, lastName, pesel, position, id_operator)
SELECT a.name, a.lastName, a.pesel, a.position, b.id_operator
FROM AAA a
JOIN BBB b ON pesel = a.pesel;
Хм, я не уверен, есть ли более прямой путь, но он должен работать
new DateTime(year, 1, 1).AddDays(day - 1);
int year = 2009;
int month = 1;
int day = 1;
int dayOfYear= 135;
DateTime myDate = new DateTime(year, month, day);
myDate.AddDays(dayOfYear - 1);
Как насчет:
new DateTime(ordinal / 1000, 1, 1).AddDays((ordinal % 1000) - 1);
Это полагается на День 1 2009 года представлен как 2009001, а не как 20091. Если второе, то это немного сложнее (хотя, конечно, все же не совсем сложно).
Я бы попытался довольно быстро отойти от такого формата - он не совсем распространенный и совершенно нечитаемый. Если исходить из формата "2009001", он, по крайней мере, разумно сортирует, но я не могу придумать ничего другого в его пользу.