I would like to know what is the relationship between the entities or tables "Camp" and "Adv" in your source system or in the staging table. You always need the business key to perform a lookup in the dimension tables, that is, you need the campbk to lookup records in the Dim.Camp and the Advbk to lookup records in the Dime.Camp dimension
If I understood correctly you should load first the Dim.Adv from staging using for instance a merge command in an execute SQL task or in a data flow task. Then you can load the Dim.Camp from Stage, something like this:
Source query:
select Advid as Advbk,campid campbk,campname from Staging.Camp
Then make a lookup (lookup table: Dim.Adv) and get the Dim.Advid where Dim.Adv.Advbk = Advbk
Finally make another lookup (table: Dim.Camp) and then determine if you have to update or insert the records.
Let me know if you have further questions.
Kind Regards,
Paul