SQL文中关于UNION和左连接的使用
最近一直在做一个项目,很久没来这里写东西了。项目刚完成第一期,第二期就接踵而至了。在一期中,我发现自己对SQL文还有不少知识的空白点,比如对于UNION和左连接的使用,下面就这方面做些笔记,与大家共享。
■项目中使用的DB是Oracle。
■例一,注意UNION的使用。
★详细式样中的SQL文(部分):
取得項目
省略
選択条件
請求残高.今回締日 = 画面.「締日」
結合条件
得意先.得意先コード = 請求残高.得意先コード
請求残高.得意先コード = A.得意先コード
得意先.得意先コード = 得意先アドオン.得意先コード
テーブル
得意先
得意先アドオン
請求残高
(取得項目
省略
選択条件
売上実績.売上計上日 > add_months(締日 , - 1 )
売上実績.売上計上日 <= 締日
結合条件
売上実績アドオン.売上実績管理番号 = 売上実績.売上実績管理番号
その他結合条件
テーブル
売上実績
売上実績アドオン
コンボボックスデータ
UNION
取得項目
省略
選択条件
入金明細.削除フラグ = 0
入金データ.削除フラグ = 0
結合条件
入金データ.入金番号 = 入金明細.入金番号
その他結合条件
テーブル
入金明細
入金データ
) A
★对应的SQL文(部分):
省略
選択条件
請求残高.今回締日 = 画面.「締日」
結合条件
得意先.得意先コード = 請求残高.得意先コード
請求残高.得意先コード = A.得意先コード
得意先.得意先コード = 得意先アドオン.得意先コード
テーブル
得意先
得意先アドオン
請求残高
(取得項目
省略
選択条件
売上実績.売上計上日 > add_months(締日 , - 1 )
売上実績.売上計上日 <= 締日
結合条件
売上実績アドオン.売上実績管理番号 = 売上実績.売上実績管理番号
その他結合条件
テーブル
売上実績
売上実績アドオン
コンボボックスデータ
UNION
取得項目
省略
選択条件
入金明細.削除フラグ = 0
入金データ.削除フラグ = 0
結合条件
入金データ.入金番号 = 入金明細.入金番号
その他結合条件
テーブル
入金明細
入金データ
) A
1
"
SELECT
"
2 + " M_CUST.CUST_CD, "
3 + " M_CUST_A.CUST_A_SELFPSN, "
4 + " M_EXCH_RATE_A.EXCH_RATE, "
5 + " T_BILL_CUMULATE_W_DDS.CLAIM_LAST, "
6 + " A.UN_TYPE, "
7 + " A.SALES_DATE, "
8 + " A.SLIP_CD, "
9 + " A.DDS_TORI_TYP_ALL_U, "
10 + " A.DDS_TORI_TYP_ALL_N, "
11 + " A.CUST_ODR_NO, "
12 + " A.BOUND_CD, "
13 + " A.ITEM_NAME_U, "
14 + " A.ITEM_NAME_N, "
15 + " A.UPDATED_BY, "
16 + " A.SALES_QTY, "
17 + " A.UNIT_COST_TYP, "
18 + " A.SALES_UNIT_PRICE_EXCH_RATES, "
19 + " A.SALES_AMOUNT_EXCH_RATES, "
20 + " A.SALES_UNIT_PRICE, "
21 + " A.SALES_AMOUNT, "
22 + " A.DEPO_AMOUNT, "
23 + " A.FOREIGN_AMOUNT, "
24 + " A.SALES_TYP "
25 + " FROM "
26 + " T_BILL_CUMULATE_W_DDS, "
27 + " M_CUST, "
28 + " M_CUST_A, "
29 + " M_CUR, "
30 + " M_EXCH_RATE_A, "
31 + " ( "
32 + " SELECT "
33 + " ' 1 ' AS UN_TYPE, "
34 + " C.CUST_CD AS CUST_CD, "
35 + " C.SALES_DATE AS SALES_DATE, "
36 + " C.SLIP_CD AS SLIP_CD, "
37 + " C.SALES_SEQ_NO, "
38 + " '' , "
39 + " D.VEND_TYP AS DDS_TORI_TYP_ALL_U, "
40 + " '' AS DDS_TORI_TYP_ALL_N, "
41 + " C.CUST_ODR_NO AS CUST_ODR_NO, "
42 + " D.BOUND_CD AS BOUND_CD, "
43 + " C.ITEM_NAME AS ITEM_NAME_U, "
44 + " TO_NUMBER( '' ) AS ITEM_NAME_N, "
45 + " C.UPDATED_BY AS UPDATED_BY, "
46 + " C.SALES_QTY AS SALES_QTY, "
47 + " D.UNIT_COST_TYP AS UNIT_COST_TYP, "
48 + " C.SALES_UNIT_PRICE AS SALES_UNIT_PRICE_EXCH_RATES, "
49 + " C.SALES_AMOUNT_EXCH_RATES AS SALES_AMOUNT_EXCH_RATES, "
50 + " C.SALES_UNIT_PRICE AS SALES_UNIT_PRICE, "
51 + " C.SALES_AMOUNT AS SALES_AMOUNT, "
52 + " TO_NUMBER( '' ) AS DEPO_AMOUNT, "
53 + " TO_NUMBER( '' ) AS FOREIGN_AMOUNT, "
54 + " D.SALES_TYP AS SALES_TYP "
55 + " FROM "
56 + " T_SALES C, "
57 + " T_SALES_A D "
58 + " WHERE "
59 + " C.SALES_DATE > ADD_MONTHS(?, - 1 ) "
60 + " AND C.SALES_DATE <= ? "
61 + " AND D.VEND_TYP IN ( "
62 + " SELECT "
63 + " SYS_TYPE_VALUE.VALUE "
64 + " FROM "
65 + " SYS_TYPE_VALUE "
66 + " WHERE "
67 + " SYS_TYPE_VALUE.NAME = ' DDS_TORI_TYP_ALL ' "
68 + " ) "
69 + " AND D.UNIT_COST_TYP IN ( "
70 + " SELECT "
71 + " SYS_TYPE_VALUE.VALUE "
72 + " FROM "
73 + " SYS_TYPE_VALUE "
74 + " WHERE "
75 + " SYS_TYPE_VALUE.NAME = ' UNIT_COST_TYP ' "
76 + " ) "
77 + " AND C.SALES_SEQ_NO = D.SALES_SEQ_NO "
78 + " UNION "
79 + " SELECT "
80 + " ' 2 ' , "
81 + " G.DEPO_SALES_CD, "
82 + " G.DEPO_DATE, "
83 + " G.DEPO_CTL_NO, "
84 + " TO_NUMBER( '' ), "
85 + " H.DEPO_DTL_LINE, "
86 + " TO_NUMBER( '' ), "
87 + " ' 入金 ' , "
88 + " '' , "
89 + " '' , "
90 + " '' , "
91 + " H.DEPO_CLASS, "
92 + " H.UPDATED_BY, "
93 + " TO_NUMBER( '' ), "
94 + " TO_NUMBER( '' ), "
95 + " TO_NUMBER( '' ), "
96 + " TO_NUMBER( '' ), "
97 + " TO_NUMBER( '' ), "
98 + " TO_NUMBER( '' ), "
99 + " H.DEPO_AMOUNT, "
100 + " H.FOREIGN_AMOUNT, "
101 + " '' "
102 + " FROM "
103 + " T_M_DEPOSIT_DDS G, "
104 + " T_M_DEPOSIT_M_DDS H "
105 + " WHERE "
106 + " G.DEL_FLG = ' 0 ' "
107 + " AND H.DEL_FLG = ' 0 ' "
108 + " AND G.DEPO_DATE > ADD_MONTHS(?, - 1 ) "
109 + " AND G.DEPO_DATE <= ? "
110 + " AND H.DEPO_CLASS IN ( "
111 + " SELECT "
112 + " SYS_TYPE_VALUE.VALUE "
113 + " FROM "
114 + " SYS_TYPE_VALUE "
115 + " WHERE "
116 + " SYS_TYPE_VALUE.NAME = ' DDS_DEPO_CLASS ' "
117 + " ) "
118 + " AND G.DEPO_CTL_NO = H.DEPO_CTL_NO "
119 + " ) A "
120 + " WHERE "
121 + " AND T_BILL_CUMULATE_W_DDS.BILL_CLOSE_DATE = ? "
122 + " AND M_EXCH_RATE_A.CUR_CD = M_CUR.CUR_CD "
123 + " AND TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE, ' YYYYMM ' ) = TO_CHAR(A.SALES_DATE, ' YYYYMM ' ) "
124 + " AND TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE, ' DD ' ) < TO_CHAR(A.SALES_DATE, ' DD ' ) "
125 + " AND M_CUST.CUST_CD = M_CUST_A.CUST_CD "
126 + " AND M_CUST.CUST_CD = T_BILL_CUMULATE_W_DDS.CUST_CD "
127 + " AND T_BILL_CUMULATE_W_DDS.CUST_CD = A.CUST_CD "
128 + " ORDER BY "
129 + " M_CUST.CUST_CD, "
130 + " A.SALES_DATE, "
131 + " A.SLIP_CD"
2 + " M_CUST.CUST_CD, "
3 + " M_CUST_A.CUST_A_SELFPSN, "
4 + " M_EXCH_RATE_A.EXCH_RATE, "
5 + " T_BILL_CUMULATE_W_DDS.CLAIM_LAST, "
6 + " A.UN_TYPE, "
7 + " A.SALES_DATE, "
8 + " A.SLIP_CD, "
9 + " A.DDS_TORI_TYP_ALL_U, "
10 + " A.DDS_TORI_TYP_ALL_N, "
11 + " A.CUST_ODR_NO, "
12 + " A.BOUND_CD, "
13 + " A.ITEM_NAME_U, "
14 + " A.ITEM_NAME_N, "
15 + " A.UPDATED_BY, "
16 + " A.SALES_QTY, "
17 + " A.UNIT_COST_TYP, "
18 + " A.SALES_UNIT_PRICE_EXCH_RATES, "
19 + " A.SALES_AMOUNT_EXCH_RATES, "
20 + " A.SALES_UNIT_PRICE, "
21 + " A.SALES_AMOUNT, "
22 + " A.DEPO_AMOUNT, "
23 + " A.FOREIGN_AMOUNT, "
24 + " A.SALES_TYP "
25 + " FROM "
26 + " T_BILL_CUMULATE_W_DDS, "
27 + " M_CUST, "
28 + " M_CUST_A, "
29 + " M_CUR, "
30 + " M_EXCH_RATE_A, "
31 + " ( "
32 + " SELECT "
33 + " ' 1 ' AS UN_TYPE, "
34 + " C.CUST_CD AS CUST_CD, "
35 + " C.SALES_DATE AS SALES_DATE, "
36 + " C.SLIP_CD AS SLIP_CD, "
37 + " C.SALES_SEQ_NO, "
38 + " '' , "
39 + " D.VEND_TYP AS DDS_TORI_TYP_ALL_U, "
40 + " '' AS DDS_TORI_TYP_ALL_N, "
41 + " C.CUST_ODR_NO AS CUST_ODR_NO, "
42 + " D.BOUND_CD AS BOUND_CD, "
43 + " C.ITEM_NAME AS ITEM_NAME_U, "
44 + " TO_NUMBER( '' ) AS ITEM_NAME_N, "
45 + " C.UPDATED_BY AS UPDATED_BY, "
46 + " C.SALES_QTY AS SALES_QTY, "
47 + " D.UNIT_COST_TYP AS UNIT_COST_TYP, "
48 + " C.SALES_UNIT_PRICE AS SALES_UNIT_PRICE_EXCH_RATES, "
49 + " C.SALES_AMOUNT_EXCH_RATES AS SALES_AMOUNT_EXCH_RATES, "
50 + " C.SALES_UNIT_PRICE AS SALES_UNIT_PRICE, "
51 + " C.SALES_AMOUNT AS SALES_AMOUNT, "
52 + " TO_NUMBER( '' ) AS DEPO_AMOUNT, "
53 + " TO_NUMBER( '' ) AS FOREIGN_AMOUNT, "
54 + " D.SALES_TYP AS SALES_TYP "
55 + " FROM "
56 + " T_SALES C, "
57 + " T_SALES_A D "
58 + " WHERE "
59 + " C.SALES_DATE > ADD_MONTHS(?, - 1 ) "
60 + " AND C.SALES_DATE <= ? "
61 + " AND D.VEND_TYP IN ( "
62 + " SELECT "
63 + " SYS_TYPE_VALUE.VALUE "
64 + " FROM "
65 + " SYS_TYPE_VALUE "
66 + " WHERE "
67 + " SYS_TYPE_VALUE.NAME = ' DDS_TORI_TYP_ALL ' "
68 + " ) "
69 + " AND D.UNIT_COST_TYP IN ( "
70 + " SELECT "
71 + " SYS_TYPE_VALUE.VALUE "
72 + " FROM "
73 + " SYS_TYPE_VALUE "
74 + " WHERE "
75 + " SYS_TYPE_VALUE.NAME = ' UNIT_COST_TYP ' "
76 + " ) "
77 + " AND C.SALES_SEQ_NO = D.SALES_SEQ_NO "
78 + " UNION "
79 + " SELECT "
80 + " ' 2 ' , "
81 + " G.DEPO_SALES_CD, "
82 + " G.DEPO_DATE, "
83 + " G.DEPO_CTL_NO, "
84 + " TO_NUMBER( '' ), "
85 + " H.DEPO_DTL_LINE, "
86 + " TO_NUMBER( '' ), "
87 + " ' 入金 ' , "
88 + " '' , "
89 + " '' , "
90 + " '' , "
91 + " H.DEPO_CLASS, "
92 + " H.UPDATED_BY, "
93 + " TO_NUMBER( '' ), "
94 + " TO_NUMBER( '' ), "
95 + " TO_NUMBER( '' ), "
96 + " TO_NUMBER( '' ), "
97 + " TO_NUMBER( '' ), "
98 + " TO_NUMBER( '' ), "
99 + " H.DEPO_AMOUNT, "
100 + " H.FOREIGN_AMOUNT, "
101 + " '' "
102 + " FROM "
103 + " T_M_DEPOSIT_DDS G, "
104 + " T_M_DEPOSIT_M_DDS H "
105 + " WHERE "
106 + " G.DEL_FLG = ' 0 ' "
107 + " AND H.DEL_FLG = ' 0 ' "
108 + " AND G.DEPO_DATE > ADD_MONTHS(?, - 1 ) "
109 + " AND G.DEPO_DATE <= ? "
110 + " AND H.DEPO_CLASS IN ( "
111 + " SELECT "
112 + " SYS_TYPE_VALUE.VALUE "
113 + " FROM "
114 + " SYS_TYPE_VALUE "
115 + " WHERE "
116 + " SYS_TYPE_VALUE.NAME = ' DDS_DEPO_CLASS ' "
117 + " ) "
118 + " AND G.DEPO_CTL_NO = H.DEPO_CTL_NO "
119 + " ) A "
120 + " WHERE "
121 + " AND T_BILL_CUMULATE_W_DDS.BILL_CLOSE_DATE = ? "
122 + " AND M_EXCH_RATE_A.CUR_CD = M_CUR.CUR_CD "
123 + " AND TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE, ' YYYYMM ' ) = TO_CHAR(A.SALES_DATE, ' YYYYMM ' ) "
124 + " AND TO_CHAR(M_EXCH_RATE_A.EXCH_START_DATE, ' DD ' ) < TO_CHAR(A.SALES_DATE, ' DD ' ) "
125 + " AND M_CUST.CUST_CD = M_CUST_A.CUST_CD "
126 + " AND M_CUST.CUST_CD = T_BILL_CUMULATE_W_DDS.CUST_CD "
127 + " AND T_BILL_CUMULATE_W_DDS.CUST_CD = A.CUST_CD "
128 + " ORDER BY "
129 + " M_CUST.CUST_CD, "
130 + " A.SALES_DATE, "
131 + " A.SLIP_CD"
■例二,注意左连接的使用。
★详细式样中的SQL文(部分):
③画面入力値をもとに、
[支払データ]、
[支払データ明細
]、[通貨]結合し、検索する。
・[ 支払データ]の検索条件
[ 支払データ].作成者 = 画面.処理担当
[ 支払データ].削除フラグ = 0
画面から出力済再出力が選択された場合
[ 支払データ].抽出フラグ = 1
画面から出力済再出力が選択しない場合
[ 支払データ].抽出フラグ = 0
・[ 支払データ]、[支払データ明細]の結合条件
[ 支払データ].支払番号 = [支払データ明細].支払番号
・[ 支払データ]、[通貨]の結合条件
[ 支払データ].通貨コード = [通貨].通貨コード
・支払区分取得
抽出項目: [ コンボボックスデータ ].表示説明
テーブル:コンボボックスデータ (LEFTJOIN)
取得条件:
[ 支払データ明細].支払区分 = [コンボボックスデータ ].値
[ コンボボックスデータ ].名称 = 'DDS_PAY_CLASS'
・経費科目取得
抽出項目: [ コンボボックスデータ ].表示説明
テーブル:コンボボックスデータ (LEFTJOIN)
取得条件:
[ 支払データ明細].経費科目 = [コンボボックスデータ ].値
[ コンボボックスデータ]. 名称 = 'DDS_PAY_MANAGE_ITEM'
★对应的SQL文(部分):
・[ 支払データ]の検索条件
[ 支払データ].作成者 = 画面.処理担当
[ 支払データ].削除フラグ = 0
画面から出力済再出力が選択された場合
[ 支払データ].抽出フラグ = 1
画面から出力済再出力が選択しない場合
[ 支払データ].抽出フラグ = 0
・[ 支払データ]、[支払データ明細]の結合条件
[ 支払データ].支払番号 = [支払データ明細].支払番号
・[ 支払データ]、[通貨]の結合条件
[ 支払データ].通貨コード = [通貨].通貨コード
・支払区分取得
抽出項目: [ コンボボックスデータ ].表示説明
テーブル:コンボボックスデータ (LEFTJOIN)
取得条件:
[ 支払データ明細].支払区分 = [コンボボックスデータ ].値
[ コンボボックスデータ ].名称 = 'DDS_PAY_CLASS'
・経費科目取得
抽出項目: [ コンボボックスデータ ].表示説明
テーブル:コンボボックスデータ (LEFTJOIN)
取得条件:
[ 支払データ明細].経費科目 = [コンボボックスデータ ].値
[ コンボボックスデータ]. 名称 = 'DDS_PAY_MANAGE_ITEM'
1
SELECT
2 A.PAY_SALES_CD,
3 A.PAY_SALES_NAME,
4 A.PAY_DATE,
5 A.PAY_CTL_NO,
6 A.PAY_DEPO_DTL_LINE,
7 A.PAY_FSUM_AMOUNT,
8 A.PAY_SUM_AMOUNT,
9 A.PAY_BILL_DATE,
10 A.PAY_BILL_NO,
11 A.CUR_SYMBOL,
12 A.PAY_DEPO_SUMMARY,
13 B.DISPLAY_NAME,
14 C.DISPLAY_NAME,
15 D.DISPLAY_NAME,
16 E.DISPLAY_NAME
17 FROM (
18 SELECT
19 T_M_PAYMENT_DDS.PAY_SALES_CD AS PAY_SALES_CD,
20 T_M_PAYMENT_DDS.PAY_SALES_NAME AS PAY_SALES_NAME,
21 T_M_PAYMENT_DDS.PAY_DATE AS PAY_DATE,
22 T_M_PAYMENT_DDS.PAY_CTL_NO AS PAY_CTL_NO,
23 T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE AS PAY_DEPO_DTL_LINE,
24 T_M_PAYMENT_M_DDS.PAY_FSUM_AMOUNT AS PAY_FSUM_AMOUNT,
25 T_M_PAYMENT_M_DDS.PAY_SUM_AMOUNT AS PAY_SUM_AMOUNT,
26 T_M_PAYMENT_M_DDS.PAY_BILL_DATE AS PAY_BILL_DATE,
27 T_M_PAYMENT_M_DDS.PAY_BILL_NO AS PAY_BILL_NO,
28 T_M_PAYMENT_M_DDS.PAY_MANAGE_ITEM AS PAY_MANAGE_ITEM,
29 T_M_PAYMENT_M_DDS.PAY_DEPO_SUMMARY AS PAY_DEPO_SUMMARY,
30 T_M_PAYMENT_M_DDS.PAY_CLASS AS PAY_CLASS,
31 T_M_PAYMENT_M_DDS.PAY_BANK_NAME AS PAY_BANK_NAME,
32 T_M_PAYMENT_M_DDS.PAY_ORG_NAME AS PAY_ORG_NAME,
33 M_CUR.CUR_SYMBOL AS CUR_SYMBOL
34 FROM
35 T_M_PAYMENT_DDS,
36 T_M_PAYMENT_M_DDS,
37 M_CUR
38 WHERE
39 T_M_PAYMENT_DDS.PAY_CTL_NO = T_M_PAYMENT_M_DDS.PAY_CTL_NO
40 AND T_M_PAYMENT_DDS.PAY_CUR_CD = M_CUR.CUR_CD
41 AND T_M_PAYMENT_DDS.CREATED_BY = ?
42 AND T_M_PAYMENT_DDS.CREATED_DATE >= ?
43 AND TO_CHAR(T_M_PAYMENT_DDS.CREATED_DATE, ' YYYY/MM/DD ' ) <= ?
44 AND T_M_PAYMENT_DDS.DEL_FLG = 0
45 AND T_M_PAYMENT_DDS.PAY_FLG = 0
46 AND T_M_PAYMENT_DDS.SELECT_FLG = ?
47 ORDER BY
48 T_M_PAYMENT_DDS.PAY_CTL_NO,
49 T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE
50 ) A LEFT JOIN (
51 SELECT
52 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
53 SYS_TYPE_VALUE.VALUE AS VALUE
54 FROM
55 SYS_TYPE_VALUE
56 WHERE
57 SYS_TYPE_VALUE.NAME = ' DDS_PAY_CLASS '
58 ) B ON A.PAY_CLASS = B.VALUE LEFT JOIN (
59 SELECT
60 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
61 SYS_TYPE_VALUE.VALUE AS VALUE
62 FROM
63 SYS_TYPE_VALUE
64 WHERE
65 SYS_TYPE_VALUE.NAME = ' DDS_PAY_MANAGE_ITEM '
66 ) C ON A.PAY_MANAGE_ITEM = C.VALUE LEFT JOIN (
67 SELECT
68 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
69 SYS_TYPE_VALUE.VALUE AS VALUE
70 FROM
71 SYS_TYPE_VALUE
72 WHERE
73 SYS_TYPE_VALUE.NAME = ' DDS_PAY_BANK_NAME '
74 ) D ON A.PAY_BANK_NAME = D.VALUE LEFT JOIN (
75 SELECT
76 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
77 SYS_TYPE_VALUE.VALUE AS VALUE
78 FROM
79 SYS_TYPE_VALUE
80 WHERE
81 SYS_TYPE_VALUE.NAME = ' DDS_PAY_ORG_NAME '
82 ) E ON A.PAY_ORG_NAME = E.VALUE
2 A.PAY_SALES_CD,
3 A.PAY_SALES_NAME,
4 A.PAY_DATE,
5 A.PAY_CTL_NO,
6 A.PAY_DEPO_DTL_LINE,
7 A.PAY_FSUM_AMOUNT,
8 A.PAY_SUM_AMOUNT,
9 A.PAY_BILL_DATE,
10 A.PAY_BILL_NO,
11 A.CUR_SYMBOL,
12 A.PAY_DEPO_SUMMARY,
13 B.DISPLAY_NAME,
14 C.DISPLAY_NAME,
15 D.DISPLAY_NAME,
16 E.DISPLAY_NAME
17 FROM (
18 SELECT
19 T_M_PAYMENT_DDS.PAY_SALES_CD AS PAY_SALES_CD,
20 T_M_PAYMENT_DDS.PAY_SALES_NAME AS PAY_SALES_NAME,
21 T_M_PAYMENT_DDS.PAY_DATE AS PAY_DATE,
22 T_M_PAYMENT_DDS.PAY_CTL_NO AS PAY_CTL_NO,
23 T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE AS PAY_DEPO_DTL_LINE,
24 T_M_PAYMENT_M_DDS.PAY_FSUM_AMOUNT AS PAY_FSUM_AMOUNT,
25 T_M_PAYMENT_M_DDS.PAY_SUM_AMOUNT AS PAY_SUM_AMOUNT,
26 T_M_PAYMENT_M_DDS.PAY_BILL_DATE AS PAY_BILL_DATE,
27 T_M_PAYMENT_M_DDS.PAY_BILL_NO AS PAY_BILL_NO,
28 T_M_PAYMENT_M_DDS.PAY_MANAGE_ITEM AS PAY_MANAGE_ITEM,
29 T_M_PAYMENT_M_DDS.PAY_DEPO_SUMMARY AS PAY_DEPO_SUMMARY,
30 T_M_PAYMENT_M_DDS.PAY_CLASS AS PAY_CLASS,
31 T_M_PAYMENT_M_DDS.PAY_BANK_NAME AS PAY_BANK_NAME,
32 T_M_PAYMENT_M_DDS.PAY_ORG_NAME AS PAY_ORG_NAME,
33 M_CUR.CUR_SYMBOL AS CUR_SYMBOL
34 FROM
35 T_M_PAYMENT_DDS,
36 T_M_PAYMENT_M_DDS,
37 M_CUR
38 WHERE
39 T_M_PAYMENT_DDS.PAY_CTL_NO = T_M_PAYMENT_M_DDS.PAY_CTL_NO
40 AND T_M_PAYMENT_DDS.PAY_CUR_CD = M_CUR.CUR_CD
41 AND T_M_PAYMENT_DDS.CREATED_BY = ?
42 AND T_M_PAYMENT_DDS.CREATED_DATE >= ?
43 AND TO_CHAR(T_M_PAYMENT_DDS.CREATED_DATE, ' YYYY/MM/DD ' ) <= ?
44 AND T_M_PAYMENT_DDS.DEL_FLG = 0
45 AND T_M_PAYMENT_DDS.PAY_FLG = 0
46 AND T_M_PAYMENT_DDS.SELECT_FLG = ?
47 ORDER BY
48 T_M_PAYMENT_DDS.PAY_CTL_NO,
49 T_M_PAYMENT_M_DDS.PAY_DEPO_DTL_LINE
50 ) A LEFT JOIN (
51 SELECT
52 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
53 SYS_TYPE_VALUE.VALUE AS VALUE
54 FROM
55 SYS_TYPE_VALUE
56 WHERE
57 SYS_TYPE_VALUE.NAME = ' DDS_PAY_CLASS '
58 ) B ON A.PAY_CLASS = B.VALUE LEFT JOIN (
59 SELECT
60 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
61 SYS_TYPE_VALUE.VALUE AS VALUE
62 FROM
63 SYS_TYPE_VALUE
64 WHERE
65 SYS_TYPE_VALUE.NAME = ' DDS_PAY_MANAGE_ITEM '
66 ) C ON A.PAY_MANAGE_ITEM = C.VALUE LEFT JOIN (
67 SELECT
68 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
69 SYS_TYPE_VALUE.VALUE AS VALUE
70 FROM
71 SYS_TYPE_VALUE
72 WHERE
73 SYS_TYPE_VALUE.NAME = ' DDS_PAY_BANK_NAME '
74 ) D ON A.PAY_BANK_NAME = D.VALUE LEFT JOIN (
75 SELECT
76 SYS_TYPE_VALUE.DISPLAY_NAME AS DISPLAY_NAME,
77 SYS_TYPE_VALUE.VALUE AS VALUE
78 FROM
79 SYS_TYPE_VALUE
80 WHERE
81 SYS_TYPE_VALUE.NAME = ' DDS_PAY_ORG_NAME '
82 ) E ON A.PAY_ORG_NAME = E.VALUE