title: Field in a view flips from NULL to NOT NULL and vice-versa on drop and create randomly
body: <p>I have a view that refers multiple tables and views internally. It has a field that comes from one of the views referred. But it keeps flipping from NOT NULL to NULL and vice versa every time we drop create the view.
  Here is the extracted view definition with minimum required objects</p>
  
  <p>Table_A has structure as
  UniqueId (uniqueidentifier not null)
  ,Atrribute1  (INT null)</p>
  
  <p>View_B has structure as
  Atrribute1 (int not null),
  SubAttribute1 (int not null)</p>
  
  <p>`</p>
  
  <pre><code>Create View dbo.View_X
  as
  select a.UniqueId, A.Atrribute1, B.SubAttribute1
  from dbo.Table_A AS A
  INNER JOIN dbo.View_B AS B ON A.Atrribute1 = B.Atrribute1 
  </code></pre>
  
  <p>`</p>
  
  <p>Of this, dbo.Table_A and dbo.View_B are untouched.
  But when we drop create View_X, at times SubAttribute1 is nullable field and at times it is non-nullable.
  I am not sure why nullable property of field changes so randomly when underlined objects are untouched. ideally SubAttribute1 should be non-nullable in View_X since it is non-nullable in View_B and is INNER JOINed with base table.</p>
  
  <p>This is causing issue in TSQLT testcases where I am validating view structure. it fails randomly because of NULL/NOT NULL flip.</p>