私は、ユーザーが独自のレコードを入力してデフォルトのレコードを上書きできるパターンまたはコードの例を探しています。例えばdbレコードを上書きするためのパターン
休日テーブルのデフォルトレコードは次のようになります。
HolidayName Holiday Date CompanyId
----------- ------------ ---------
New Year 01-Jan-2016 NULL
Day After 02-Jan-2016 NULL
とユーザーの後、自分の休日(たCompanyId「1234」用)を追加します。
HolidayName Holiday Date CompanyId
----------- ------------ ---------
New Year 01-Jan-2016 NULL
Day After 02-Jan-2016 NULL
Another Name 01-Jan-2016 1234
My Holiday 03-Jan-2016 1234
Joes Holiday 04-Jan-2016 5678
私が取得することができますどのように
- デフォルトの休日(CompanyId = NULLの場合)または 012の組み合わせの休日の一覧
- オーバーライドされた祝日(同じ日付)
- さらに、ユーザーによって入力された休日(CompanyID別)が含まれます。企業ID = 1234このよう
:これはどちらかのSQLビュー、クエリまたはC#のコードで行うことができ
HolidayName Holiday Date CompanyId
----------- ------------ ---------
Another Name 01-Jan-2016 1234
Day After 02-Jan-2016 NULL
My Holiday 03-Jan-2016 1234
わからない場合。許可されていません
SELECT
COALESCE(User.HolidayName, Default.HolidayName) as HolidayName,
COALESCE(User.HolidayDate, Default.HolidayDate) as HolidayDate,
User.CompanyId
FROM Holidays as User
FULL OUTER JOIN (
SELECT * FROM Holidays WHERE CompanyId IS NULL
) as Default ON
User.HolidayDate = Default.HolidayDate
WHERE
User.CompanyId = 1234
しかし、: