お世話になっております。
いま、テーブル1とテーブル2があります。
テーブル1.就業日報
社員番号 | 実事由 | 備考 |
---|---|---|
1 | 有休 | 通院のため |
2 | 午前休,直行 | 取引先A |
3 | 欠勤 | 私用 |
4 | 出張 | 取引先B |
テーブル2.実事由一覧
実事由 | 表示名 | 備考非表示 |
---|---|---|
有休 | 休暇 | true |
欠勤 | 休暇 | true |
午前休 | AM休 | true |
直行 | 出張 | false |
出張 | 出張 | false |
ここで、次のビューを作りたいです。(ssmsで作成したいです。)
- テーブル1を元にしたもの
- テーブル1の「実事由」を「実事由一覧」テーブルの実事由フィールドから表示名フィールドに置換
- テーブル1の「実事由」のうち「実事由一覧」にて備考非表示をtrueに設定している要素が一つでもある場合、備考を空欄にする
具体的には、次のような形です。
希望のビュー
社員番号 | 事由 | 備考 |
---|---|---|
1 | 休暇 | |
2 | AM休,出張 | |
3 | 休暇 | |
4 | 出張 | 取引先B |
ここで次のようなことはできますでしょうか。
0. テーブル2の実事由と表示名を基にテーブル1の実事由を置換すること
(テーブル1の実事由に1フィールド1事由しかなければ、left joinでできるのですが、社員番号2のようなケースが避けられないです)
- テーブル2の実事由と備考非表示を基にテーブル1の備考を表示/非表示すること
(上同様に、1フィールド1事由であればleft joinしてiifでできるのですが…)
> テーブル2の実事由と備考非表示を基にテーブル1の備考を表示/非表示すること
事由が複数の時、非表示が一つでもあれば非表示という事ですか?
また、
> ビューを作りたいです。
create viewしたいという事ですか?
> ssmsで作成したいです。
答えになっていませんが、問い合わせのSQLという事だと解釈しました。
>> テーブル2の実事由と備考非表示を基にテーブル1の備考を表示/非表示すること
>事由が複数の時、非表示が一つでもあれば非表示という事ですか?
はい、そうです。
また、
>> ビューを作りたいです。
>create viewしたいという事ですか?
SSMSでそういうビューを作って見れる状態にしたいという意図です。
回答1件
あなたの回答
tips
プレビュー