teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

推敲

2018/10/21 09:35

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -20,7 +20,7 @@
20
20
  > 部署単位で見た際、削除フラグが0(有効)のものが存在しない場合にファイル出力をします。
21
21
 
22
22
  `TRANS_TBL`に存在しない`APPLI_TRANS_TBL`の抽出という事なら以下で良いかと思います。
23
- ※TRANS_TBLのキーは地域コード、会社コード、部署コード、担当者コードだとして
23
+ `TRANS_TBL`のキーは地域コード、会社コード、部署コード、担当者コードだとして
24
24
  ```SQL
25
25
  SELECT distinct 地域コード, 会社コード, 部署コード, 担当者コード
26
26
  FROM APPLI_TRANS_TBL as t1

3

追記

2018/10/21 09:35

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -13,4 +13,19 @@
13
13
  and not exists(
14
14
  select 1 from TRANS_TBL where 地域コード='1000' and 会社コード='200' and 部署コード='10'
15
15
  )
16
+ ```
17
+ 追記
18
+ ---
19
+ > 変更内容のファイル出力の条件分岐に必要となるSQLになります。
20
+ > 部署単位で見た際、削除フラグが0(有効)のものが存在しない場合にファイル出力をします。
21
+
22
+ `TRANS_TBL`に存在しない`APPLI_TRANS_TBL`の抽出という事なら以下で良いかと思います。
23
+ ※TRANS_TBLのキーは地域コード、会社コード、部署コード、担当者コードだとして
24
+ ```SQL
25
+ SELECT distinct 地域コード, 会社コード, 部署コード, 担当者コード
26
+ FROM APPLI_TRANS_TBL as t1
27
+ WHERE 削除フラグ='0'
28
+ and not exists(
29
+ select 1 from TRANS_TBL where 地域コード=t1.地域コード and 会社コード=t1.会社コード and 部署コード=t1.部署コード and 担当者コード=t1.担当者コード
30
+ )
16
31
  ```

2

修正

2018/10/21 09:34

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -10,4 +10,7 @@
10
10
  SELECT 地域コード, 会社コード, 部署コード, 担当者コード, 削除フラグ
11
11
  FROM APPLI_TRANS_TBL
12
12
  WHERE 申込番号='2018102101' and 地域コード='1000' and 会社コード='200' and 部署コード='10' and 削除フラグ='0'
13
+ and not exists(
14
+ select 1 from TRANS_TBL where 地域コード='1000' and 会社コード='200' and 部署コード='10'
15
+ )
13
16
  ```

1

推敲

2018/10/21 09:22

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  **UNION** する前に **Not Exists**する方が効率的です。
2
2
  ```SQL
3
3
  SELECT 地域コード, 会社コード, 部署コード, 担当者コード, 削除フラグ
4
- FROM TRANS_TBL AS
4
+ FROM TRANS_TBL
5
5
  WHERE 地域コード='1000' and 会社コード='200' and 部署コード='10' and 削除フラグ='0'
6
6
  and not exists(
7
7
  select 1 from APPLI_TRANS_TBL where 地域コード='1000' and 会社コード='200' and 部署コード='10' and 削除フラグ='1'