How are you going to use this insert? Is it going to be part of a program that will insert a record or part of a procedure/query or whatever that will update all/some records from the costs table?
The reason for asking is that if this is a program then you might want to just hold the values in variables and be done with it.
If it's a procedure (or a query) then you've got to tell us if this is going to be a trigger/cursor or not. If it is then again it might be easier to go with vars.
If it is not then you are doing it wrong. You can't use tables with VALUES . Instead you have to use insert :
INSERT INTO costos
select 1,20,1,1,100,100,1,1,(100+100+aerolineas.costo*20+alojamiento.valor_habitacion*20) from aerolineas inner join alojamiento on ... I removed the sum() as you were using it like in Excel and it won't work like that.
Also you need to join the airlines and the hotels tables to get the values and I'm not sure how you are going to (perhaps by joining the project table as well?)
PS: If 20 is the number of people don't you need number of nights to calculate the cost of the hotel ?