• I did a little more testing, and came up with a simple solution using a trigger:

    CREATE TRIGGER [dbo].[BitTrigger]

    ON [dbo].[Table2]

    FOR INSERT, UPDATE

    AS BEGIN

    DECLARE @Result BIT

    DECLARE @Flags INT

    SELECT @Flags = Flags FROM inserted

    SELECT @Result = CASE WHEN SUM([Value]) & @Flags = @Flags THEN 1 ELSE 0 END

    FROM Table1

    IF @Result = 0 BEGIN

    RAISERROR ('This is not an acceptable combination of values.', 16, 1)

    ROLLBACK TRANSACTION

    END

    END