column 'fial_cnt' not found
이건 좀 어이없어서... ㅋㅋㅋ 메모합니다.
말 그대로입니다. mysql 이 넘이, "나는 컬럼 fail_cnt를 못찾겠어 ㅠㅠ "
라고 하는겁니다.
select
count(CASE WHEN rt_flag=0 THEN 1 END) as fali_cnt ,
count(CASE WHEN rt_flag=1 THEN 1 END) as succ_cnt ,
count(CASE WHEN rt_flag IS NULL THEN 1 END) as null_cnt
from tbl_trn_return_list where org_mkprd_idx='MKH20171208114012'
위처럼 조회를 했는데
왜!! 자꾸 없다고 나오는지,
실수는 여기부터였습니다.
위처럼 쿼리를 짜놓고,
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
rs.next();
result = rs.getInt("succ_cnt")+"|"+rs.getInt("fial_cnt")+"|"+rs.getInt("null_cnt");
위 처럼.. 불러왔습니다.
잘 보시면, rs.getInt(""); 여기 안에 들어가는 컬럼명을 잘못 적은겁니다.
쉬운건데.. 당연히 나와야 하는건데... 안나오니까 참 ㅋㅋㅋㅋ
여러분들도 혹시 저처럼 이런 에러를 만나면! 아 어디 분명오타가 있구나 생각해보십시오.. :) ㅋㅋㅋ
'web > 오류정리' 카테고리의 다른 글
Subquery returns more than 1 row 조인 시 서브 쿼리 오류 (0) | 2017.12.11 |
---|---|
Before start of result set 에러 (0) | 2017.11.28 |
[이클립스]illegal operation on empty result set mysql 해결방법 (0) | 2017.11.20 |
input disabled css ie8 (0) | 2017.06.01 |
인스타그램 샌드박스 모드 -웹사이트 연동 (0) | 2017.05.29 |
mysql 문자열 개수 구하는 방법
-- 쿼리를 직접 사용
SELECT
(LENGTH(v) - LENGTH(
REPLACE
(v,
';'
,
''
))) / LENGTH(
';'
)
FROM
(
SELECT
'A;B;C;D;E;F;G'
v) A;
-- 함수를 만들어 사용해도 편리함
CREATE
FUNCTION
COUNT_STR(X
VARCHAR
(255), DELIM
VARCHAR
(12))
RETURNS
INT
RETURN
(LENGTH(X) - LENGTH(
REPLACE
(X, DELIM,
''
))) / LENGTH(DELIM);
SELECT
COUNT_STR(TEXT,
';'
) CNT
FROM
(
SELECT
'A;B;C;D;E;F;G'
TEXT) A;
위 커뮤니티에서 가져왔습니다.
위처럼 쿼리 적용을 해보니, 찾는 문자열이 몇개가 해당 컬럼에 포함돼있는지 알수 있었습니다.
제 케이스는 컬럼이 모두 "ㅁㅁㅁ|ㅍㅍㅍ|ㅇㅇㅇ" 이런 형식으로 데이타들이 들어가 있었어요. 전 '|' 이것이 몇개나 되는지 알고 싶었구요.
그래서 아래와 같이 정보를 얻었습니다.
'web > mysql' 카테고리의 다른 글
insert table a select table b 대량 인썰트할때 (0) | 2017.11.29 |
---|---|
mysql 데이터 insert (0) | 2017.11.19 |
mysql group by 그에 대한 조건문을 쓸땐 where 이 아닌 having (0) | 2017.11.19 |
mysql 별칭 잘 쓰면 참 좋은 alias (0) | 2017.11.19 |
mysql 주석 -- /**/ (0) | 2017.11.18 |
insert table a select table b 대량 인썰트할때
이런 생각해본적 있으실겁니다.
특정 table A에다가 table B의 내용을 모두 집어 넣어버리고 싶은 적
테이블들의 관계에 따라서 특정 테이블 B의 내용을 temp 형식으로 모두 복사해 넣고싶은 상황일 수 있어요.
내용을 조회해서 와서 바로 인썰트 하는 방법이 있습니다.
table A
id | addr | gender
--------------------------------
no rows
table B
id | name | addr | gender
------------------------------------------------
a 김길수 서울시 남
b 김민경 부천시 여
c 나소민 인천시 여
위처럼 테이블이 존재한다면,
insert into table A select id, addr, gender from table B
라고 하면 됩니다. table A의 컬럼 순서와 동일하게 값을 불러와야만 적용이 됩니당
'web > mysql' 카테고리의 다른 글
mysql 문자열 개수 구하는 방법 (0) | 2017.12.06 |
---|---|
mysql 데이터 insert (0) | 2017.11.19 |
mysql group by 그에 대한 조건문을 쓸땐 where 이 아닌 having (0) | 2017.11.19 |
mysql 별칭 잘 쓰면 참 좋은 alias (0) | 2017.11.19 |
mysql 주석 -- /**/ (0) | 2017.11.18 |