SELECT * FROM TABS;
SELECT * FROM CARD_PRODUCT_LIST;
SELECT * FROM CARD_CONTRACT;
SELECT * FROM COMMON_CODE;
SELECT * FROM MEMBER WHERE ID = 'HELLO';
SELECT * FROM OPEN_CARD_TRANSACTION;
DELETE FROM OPEN_CARD_TRANSACTION;
INSERT INTO OPEN_CARD_TRANSACTION VALUES('31', TO_DATE('2020-02-01 20:30:55', 'YYYY-MM-DD HH24:MI:SS'), '360000', '롯데백화점', 'I8', '9203101937988', '신한카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('32', TO_DATE('2020-01-07 20:30:55', 'YYYY-MM-DD HH24:MI:SS'), '127000', '롯데백화점', 'I8', '9203101937988', '신한카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('33', TO_DATE('2020-03-05 13:12:55', 'YYYY-MM-DD HH24:MI:SS'), '260000', '롯데백화점', 'I8', '9203101937988', '신한카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('34', TO_DATE('2020-02-15 15:27:55', 'YYYY-MM-DD HH24:MI:SS'), '79000', '이마트인천점', 'I7', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('35', TO_DATE('2020-03-11 17:36:55', 'YYYY-MM-DD HH24:MI:SS'), '32000', '이마트인천점', 'I7', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('36', TO_DATE('2020-01-27 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '9200', '이마트인천점', 'I7', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('37', TO_DATE('2020-01-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '2400', '이마트인천점', 'I7', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('38', TO_DATE('2020-05-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '500000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('38', TO_DATE('2020-01-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '320000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('39', TO_DATE('2020-02-27 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '2000', '이마트인천점', 'I7', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('40', TO_DATE('2020-03-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '120000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('41', TO_DATE('2020-04-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '150000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('42', TO_DATE('2020-05-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '70000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('43', TO_DATE('2020-06-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '80000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('44', TO_DATE('2020-07-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '70000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('45', TO_DATE('2020-08-28 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '65000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
INSERT INTO OPEN_CARD_TRANSACTION VALUES('46', TO_DATE('2020-09-10 20:50:55', 'YYYY-MM-DD HH24:MI:SS'), '74000', '현대백화점', 'I8', '9203101937988', '국민카드', '일시불');
SELECT * FROM MEMBER WHERE ID = 'HELLO';
SELECT * FROM CARD_CONTRACT WHERE RESI_NUM = 9203101937988;
SELECT * FROM CARD_TRANSACTION;
UPDATE CARD_TRANSACTION SET CARD_TRANSACTION_AMOUNT = (CARD_TRANSACTION_AMOUNT / 2) WHERE CARD_NUM = 9770810030728330;
UPDATE CARD_TRANSACTION SET CARD_TRANSACTION_AMOUNT = (CARD_TRANSACTION_AMOUNT / 2) WHERE CARD_NUM = 9770810030728331;
SELECT * FROM CARD_TRANSACTION;
SELECT CARD_TRANSACTION_NUM
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS INDUSTRY_CODE
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS PAYMENT
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988);
SELECT CARD_TRANSACTION_NUM
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS INDUSTRY_CODE
,(SELECT '하나카드' FROM DUAL) AS MEANS
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS PAYMENT
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988);
SELECT CARD_TRANSACTION_NUM
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS INDUSTRY_CODE
,(SELECT '하나카드' FROM DUAL) AS MEANS
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS PAYMENT
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988)
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
UNION ALL
SELECT CARD_TRANSACTION_NUM
, TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = O.INDUSTRY_CODE) AS INDUSTRY_CODE
, MEANS
, PAYMENT
FROM OPEN_CARD_TRANSACTION O
WHERE RESI_NUM = 9203101937988
AND MEANS IN ('신한카드')
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
ORDER BY CARD_TRANSACTION_TIME;
select * from open_card_transaction;
SELECT CARD_TRANSACTION_NUM AS num
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS code
,(SELECT '하나카드' FROM DUAL) AS means
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS payment
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988)
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
UNION ALL
SELECT CARD_TRANSACTION_NUM AS num
, TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = O.INDUSTRY_CODE) AS code
, MEANS
, PAYMENT
FROM OPEN_CARD_TRANSACTION O
WHERE RESI_NUM = 9203101937988
AND MEANS IN ('신한카드')
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
ORDER BY CARD_TRANSACTION_TIME;
WITH TMP AS(
SELECT CARD_TRANSACTION_NUM AS num
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS code
,(SELECT '하나카드' FROM DUAL) AS means
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS payment
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988)
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
UNION ALL
SELECT CARD_TRANSACTION_NUM AS num
, TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = O.INDUSTRY_CODE) AS code
, MEANS
, PAYMENT
FROM OPEN_CARD_TRANSACTION O
WHERE RESI_NUM = 9203101937988
AND MEANS IN ('신한카드')
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = '202009'
ORDER BY CARD_TRANSACTION_TIME)
SELECT * FROM TMP;
WITH TMP AS(
SELECT CARD_TRANSACTION_NUM
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS INDUSTRY_CODE
,(SELECT '하나카드' FROM DUAL) AS MEANS
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS PAYMENT
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988))
SELECT * FROM TMP WHERE ROWNUM <= 10;
SELECT TO_CHAR(SYSDATE-100, 'YYYYMMDD') FROM DUAL;
SELECT TO_CHAR(SYSDATE-3, 'YYYYMM') FROM DUAL;
SELECT TO_CHAR(SYSDATE-14, 'YYYYMMDD') FROM DUAL;
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'YYYYMMDD') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYYMM') FROM DUAL;
WITH TMP AS(
SELECT CARD_TRANSACTION_NUM AS num
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS code
,(SELECT '하나카드' FROM DUAL) AS means
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS payment
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988)
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = (SELECT TO_CHAR(SYSDATE, 'YYYYMM') FROM DUAL)
UNION ALL
SELECT CARD_TRANSACTION_NUM AS num
, TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS') AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT AS amount
, CARD_TRANSACTION_CONTENT AS content
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = O.INDUSTRY_CODE) AS code
, MEANS
, PAYMENT
FROM OPEN_CARD_TRANSACTION O
WHERE RESI_NUM = 9203101937988
AND MEANS IN ('신한카드')
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYYMM') = (SELECT TO_CHAR(SYSDATE, 'YYYYMM') FROM DUAL)
ORDER BY CARD_TRANSACTION_TIME)
SELECT * FROM TMP WHERE ROWNUM <= 100;
SELECT * FROM CARD_TRANSACTION WHERE CARD_TRANSACTION_NUM = '10527509';
SELECT * FROM CARD_TRANSACTION WHERE INDUSTRY_CODE = 'I3';
UPDATE CARD_TRANSACTION SET INDUSTRY_CODE = 'I13' WHERE CARD_TRANSACTION_CONTENT = 'SKT';
COMMIT;
SELECT * FROM COMMON_CODE;
SELECT CARD_TRANSACTION_NUM
,TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY.MM.DD HH24:MI:SS')AS CARD_TRANSACTION_TIME
, CARD_TRANSACTION_AMOUNT
, CARD_TRANSACTION_CONTENT
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.INDUSTRY_CODE) AS INDUSTRY_CODE
,(SELECT '하나카드' FROM DUAL) AS MEANS
,(SELECT VALUE FROM COMMON_CODE WHERE CODE = T.PAYMENT) AS PAYMENT
FROM CARD_TRANSACTION T
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988)
AND T.INDUSTRY_CODE = 'I13';
UPDATE CARD_TRANSACTION SET CARD_TRANSACTION_AMOUNT = (CARD_TRANSACTION_AMOUNT/3)
WHERE CARD_NUM IN(
SELECT CARD_NUM
FROM CARD_CONTRACT
WHERE RESI_NUM = 9203101937988);
COMMIT;
WITH whole AS
(
SELECT industry_code cd
, card_transaction_amount amt
FROM card_transaction
WHERE card_num IN (SELECT card_num FROM card_contract WHERE resi_num = '9203101937988')
AND card_transaction_time >= TO_DATE('2020'||'01', 'yyyymm')
AND card_transaction_time < ADD_MONTHS(TO_DATE('2020'||'01', 'yyyymm'), 1)
UNION ALL
SELECT industry_code cd
, card_transaction_amount amt
FROM open_card_transaction
WHERE resi_num = '9203101937988'
AND means IN ('신한카드', '국민카드')
AND card_transaction_time >= TO_DATE('2020'||'01', 'yyyymm')
AND card_transaction_time < ADD_MONTHS(TO_DATE('2020'||'01', 'yyyymm'), 1)
)
SELECT NVL(SUM(CASE WHEN cd IN ('I1', 'I2' ) THEN amt END), 0) type1
, NVL(SUM(CASE WHEN cd IN ('I4', 'I5', 'I6') THEN amt END), 0) type2
, NVL(SUM(CASE WHEN cd IN ('I7', 'I8' ) THEN amt END), 0) type3
, NVL(SUM(CASE WHEN cd IN ('I9' ) THEN amt END), 0) type4
, NVL(SUM(CASE WHEN cd IN ('I10' ) THEN amt END), 0) type5
, NVL(SUM(CASE WHEN cd IN ('I11' ) THEN amt END), 0) type6
, NVL(SUM(CASE WHEN cd IN ('I12' ) THEN amt END), 0) type7
, NVL(SUM(CASE WHEN cd IN ('I13' ) THEN amt END), 0) type8
FROM whole
;
WITH whole AS
(
SELECT industry_code cd
, card_transaction_amount amt
FROM card_transaction
WHERE card_num IN (SELECT card_num FROM card_contract WHERE resi_num = '9203101937988')
AND card_transaction_time >= TO_DATE('2020'||'01', 'yyyymm')
AND card_transaction_time < ADD_MONTHS(TO_DATE('2020'||'01', 'yyyymm'), 1)
UNION ALL
SELECT industry_code cd
, card_transaction_amount amt
FROM open_card_transaction
WHERE resi_num = '9203101937988'
AND means IN ('신한카드', '국민카드')
AND card_transaction_time >= TO_DATE('2020'||'01', 'yyyymm')
AND card_transaction_time < ADD_MONTHS(TO_DATE('2020'||'01', 'yyyymm'), 1)
)
SELECT NVL(SUM(CASE WHEN cd IN ('I1', 'I2' ) THEN amt END), 0) type1
, NVL(SUM(CASE WHEN cd IN ('I4', 'I5', 'I6') THEN amt END), 0) type2
, NVL(SUM(CASE WHEN cd IN ('I7', 'I8' ) THEN amt END), 0) type3
, NVL(SUM(CASE WHEN cd IN ('I9' ) THEN amt END), 0) type4
, NVL(SUM(CASE WHEN cd IN ('I10' ) THEN amt END), 0) type5
, NVL(SUM(CASE WHEN cd IN ('I11' ) THEN amt END), 0) type6
, NVL(SUM(CASE WHEN cd IN ('I12' ) THEN amt END), 0) type7
, NVL(SUM(CASE WHEN cd IN ('I13' ) THEN amt END), 0) type8
FROM (SELECT cd
, SUM(amt) amt
FROM whole
GROUP BY cd
)
;
WITH WHOLE AS (SELECT CARD_TRANSACTION_TIME, CARD_TRANSACTION_AMOUNT, CARD_TRANSACTION_CONTENT, INDUSTRY_CODE
FROM CARD_TRANSACTION
WHERE CARD_NUM IN(SELECT CARD_NUM FROM CARD_CONTRACT WHERE RESI_NUM = '9203101937988')
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY') = '2020'
AND TO_CHAR(CARD_TRANSACTION_TIME, 'MM') = '01'
UNION ALL
SELECT CARD_TRANSACTION_TIME, CARD_TRANSACTION_AMOUNT, CARD_TRANSACTION_CONTENT, INDUSTRY_CODE
FROM OPEN_CARD_TRANSACTION
WHERE RESI_NUM = '9203101937988'
AND TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY') = '2020'
AND TO_CHAR(CARD_TRANSACTION_TIME, 'MM') = '01'
AND MEANS IN('신한카드', '국민카드')
)
SELECT SUBQUERY1.RESULT AS TYPE1, SUBQUERY2.RESULT AS "TYPE2", SUBQUERY3.RESULT AS "TYPE3", SUBQUERY4.RESULT AS "TYPE4",
SUBQUERY5.RESULT AS "TYPE5", SUBQUERY6.RESULT AS "TYPE6", SUBQUERY7.RESULT AS "TYPE7", SUBQUERY8.RESULT AS "TYPE8"
FROM (SELECT *
FROM (SELECT SUM(RESULT) AS RESULT
FROM(
SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I1', 'I2')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL))
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY1,
(SELECT *
FROM (SELECT SUM(RESULT) AS RESULT
FROM(
SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I4', 'I5', 'I6')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL))
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY2,
(SELECT *
FROM (SELECT SUM(RESULT) AS RESULT
FROM(
SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I7', 'I8')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL))
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY3,
(SELECT *
FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I9')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL)
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY4,
(SELECT *
FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I10')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL)
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY5,
(SELECT *
FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I11')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL)
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY6,
(SELECT *
FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I12')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL)
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY7,
(SELECT *
FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS RESULT
FROM WHOLE
GROUP BY INDUSTRY_CODE
HAVING INDUSTRY_CODE IN('I13')
UNION ALL
SELECT 0 AS RESULT
FROM DUAL)
WHERE RESULT IS NOT NULL OR ROWNUM = 1) SUBQUERY8
WHERE ROWNUM <=1;
with whole as
(
select card_transaction_time, card_transaction_amount, card_transaction_content, industry_code
from card_transaction
where card_num in (select card_num from card_contract where resi_num = '9203101937988')
and extract(year from card_transaction_time) = 2020
and extract(month from card_transaction_time) = 1
union all
select card_transaction_time, card_transaction_amount, card_transaction_content, industry_code
from open_card_transaction
where resi_num = '9203101937988'
and extract(year from card_transaction_time) = 2020
and extract(month from card_transaction_time) = 1
and means in('신한카드', '국민카드')
)
select result1 as TYPE1
, result2 as TYPE2
, result3 as TYPE3
, result4 as TYPE4
, result5 as TYPE5
, result6 as TYPE6
, result7 as TYPE7
, result8 as TYPE8
from
(
select sum(case when industry_code in ('I1', 'I2') then card_transaction_amount else 0 end) as result1
, sum(case when industry_code in ('I4', 'I5', 'I6') then card_transaction_amount else 0 end) as result2
, sum(case when industry_code in ('I7', 'I8') then card_transaction_amount else 0 end) as result3
, sum(case when industry_code in ('I9') then card_transaction_amount else 0 end) as result4
, sum(case when industry_code in ('I10') then card_transaction_amount else 0 end) as result5
, sum(case when industry_code in ('I11') then card_transaction_amount else 0 end) as result6
, sum(case when industry_code in ('I12') then card_transaction_amount else 0 end) as result7
, sum(case when industry_code in ('I13') then card_transaction_amount else 0 end) as result8
from whole
group by industry_code
);
SELECT * FROM CARD_CONTRACT;
SELECT CARD_PRODUCT_CODE, COUNT(CARD_PRODUCT_CODE)
FROM CARD_CONTRACT
GROUP BY(CARD_PRODUCT_CODE);
SELECT CARD_PRODUCT_CODE, COUNT(CARD_PRODUCT_CODE)
FROM CARD_CONTRACT
WHERE TO_CHAR(REG_DATE, 'YYYYMM') >= '201801'
GROUP BY(CARD_PRODUCT_CODE);
SELECT CARD_PRODUCT_CODE, COUNT(CARD_PRODUCT_CODE)
FROM CARD_CONTRACT
WHERE TO_CHAR(REG_DATE, 'YYYYMM') = '202009'
GROUP BY(CARD_PRODUCT_CODE);
SELECT CARD_PRODUCT_CODE, COUNT(CARD_PRODUCT_CODE)
FROM CARD_CONTRACT
WHERE REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE);
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS CARD_PRODUCT_NAME, COUNT(CARD_PRODUCT_CODE) AS CNT
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN (4,5,7) AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE);
SELECT * FROM CARD_CONTRACT;
SELECT * FROM CARD_PRODUCT_LIST;
INSERT INTO CARD_CONTRACT VALUES('9770810030731831', '7', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731832', '7', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731833', '7', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731834', '7', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731835', '5', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731836', '5', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731837', '5', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731838', '4', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731839', '4', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731840', '14', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731841', '14', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731842', '14', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731843', '14', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731844', '16', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731845', '16', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731846', '16', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731847', '15', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731848', '15', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731849', '17', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731850', '18', '3203102941474', '000', '1234', TO_DATE(180101, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731851', '12', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731852', '12', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731853', '12', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731854', '1', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731855', '1', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731856', '2', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
INSERT INTO CARD_CONTRACT VALUES('9770810030731857', '3', '3203102941474', '000', '1234', TO_DATE(200901, 'YY/MM/DD'));
SELECT * FROM CARD_CONTRACT;
SELECT * FROM CARD_PRODUCT_LIST
WHERE CARD_PRODUCT_CODE IN(4, 5, 7);
SELECT *
FROM CARD_PRODUCT_LIST
WHERE (ANNUAL_FEE BETWEEN 0 AND 10000);
SELECT *
FROM CARD_PRODUCT_LIST
WHERE ANNUAL_FEE > 10000 AND ANNUAL_FEE <= 20000;
SELECT *
FROM CARD_PRODUCT_LIST
WHERE ANNUAL_FEE > 20000;
select count(*) from card_transaction;
select sum(bytes)/1024/1024/1024 from dba_data_files;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS CARD_PRODUCT_NAME, COUNT(CARD_PRODUCT_CODE) AS CNT
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN (4,5,7) AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE);
SELECT * FROM CARD_PRODUCT_LIST;
SELECT * FROM CARD_PRODUCT_LIST;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN (4,5,7) AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN (4,5,7) AND REG_DATE = TO_DATE('2009', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE);
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE SUBSTR(RESI_NUM, 0, 2) >= '92'
AND SUBSTR(RESI_NUM, 0, 2) <= '99'
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE SUBSTR(RESI_NUM, 0, 2) >= '82'
AND SUBSTR(RESI_NUM, 0, 2) <= '91'
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE SUBSTR(RESI_NUM, 0, 2) BETWEEN '72' AND '81'
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE SUBSTR(RESI_NUM, 0, 2) BETWEEN '72' AND '81'
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN(12, 1, 2, 3)
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN(12, 1, 2, 3)
AND REG_DATE = TO_DATE('2009', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN(8, 7, 16, 10, 6, 5, 19, 9, 13, 4)
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT (SELECT CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST L WHERE L.CARD_PRODUCT_CODE = C.CARD_PRODUCT_CODE ) AS cardName , COUNT(CARD_PRODUCT_CODE) AS count
FROM CARD_CONTRACT C
WHERE CARD_PRODUCT_CODE IN(11, 14, 15, 18, 17)
AND REG_DATE = TO_DATE('1801', 'YY/MM')
GROUP BY(CARD_PRODUCT_CODE)
ORDER BY count DESC;
SELECT * FROM CARD_PRODUCT_LIST;
SELECT * FROM CARD_CONTRACT;