In Views, how can I display an edit link if a node relationship exists, otherwise display an add link?
I have had a similar situation and I did the following which is probably not the best thing to do - I will use your terms:


When an assignment node is created a work node for each student is created with the field field_submitted set to false
On the view, the field field_submitted is included but excluded from display
I have a php field with this code which displays edit or submit, both are actually sending to the same node but they will give the student some insight about what he should do next:

if(!empty($data->field_field_submitted[0]['raw']['value']))
   echo l(t('edit')/*, ... */);
else
   echo l(t('submit')/*, ... */);