Til210715

1 minute read

TIL

sql is null

  • https://codingdog.tistory.com/entry/mysql-iffull-%ED%95%A8%EC%88%98-%EA%B2%B0%EA%B3%BC-%EA%B0%92%EC%9D%B4-NULL%EC%9D%BC-%EB%95%8C-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%B2%98%EB%A6%AC%ED%95%98%EC%A7%80
  • 아래 sql을 돌렸을 때
    select *
          from TB_CONT_BOARD_INFO cbi
          join tb_comm_user cu on cbi.REG_USER_ID = cu.USER_SEQ or cbi.MOD_USER_ID = cu.USER_SEQ
          where cbi.user_gb = 'M';
    
  • 아래와 같은 결과가 나온다.
  • or로 해놨기 때문에 등록자의 아이디와 유저 아이디가 같은 경우와 수정자의 아이디와 유저 아이디가 같은 경우가 중복되어 출력된다
    2	M	test2	test2	Y				1		2021-07-14 11:34:49					1	test1	일일일	1111	M
    3	M	test3 수정	test3 수정	Y				1		2021-07-14 14:09:01	1		2021-07-14 14:40:23		1	test1	일일일	1111	M
    4	M	test4 수정 수정일시	test4 수정	Y				1		2021-07-14 15:35:34	3		2021-07-14 17:28:20		1	test1	일일일	1111	M
    4	M	test4 수정 수정일시	test4 수정	Y				1		2021-07-14 15:35:34	3		2021-07-14 17:28:20		3	test3	삼삼삼	1111	M
    
  • 중복을 없애기 위해서 수정자가 없는 경우는 출력되지 않도록 조건을 준다
    select *
          from TB_CONT_BOARD_INFO cbi
          join tb_comm_user cu on cbi.REG_USER_ID = cu.USER_SEQ or cbi.MOD_USER_ID = cu.USER_SEQ
          where cbi.user_gb = 'M'
          and cbi.MOD_USER_ID is null
          or cbi.MOD_USER_ID = cu.USER_SEQ;
    
  • 아래와 같이 원하는 결과가 출력된다
    2	M	test2	test2	Y				1		2021-07-14 11:34:49					1	test1	일일일	1111	M
    3	M	test3 수정	test3 수정	Y				1		2021-07-14 14:09:01	1		2021-07-14 14:40:23		1	test1	일일일	1111	M
    4	M	test4 수정 수정일시	test4 수정	Y				1		2021-07-14 15:35:34	3		2021-07-14 17:28:20		3	test3	삼삼삼	1111	M
    
  • 쿼리의 결과를 카운트하고 싶을 때
    select count(brd_seq) as count
          from TB_CONT_BOARD_INFO cbi
          join tb_comm_user cu on cbi.REG_USER_ID = cu.USER_SEQ or cbi.MOD_USER_ID = cu.USER_SEQ
          where cbi.user_gb = 'M'
          and cbi.MOD_USER_ID is null
          or cbi.MOD_USER_ID = cu.USER_SEQ;
    

ajax 게시판 페이징 및 검색 기능

  • https://jo-coder.tistory.com/31
  • https://daspace.tistory.com/308?category=1182881
  • https://blog.naver.com/comezjaj1/222079096176

날짜 검색 시

    // 날짜 검색을 할 때 yyyy.mm.dd 로 들어가면 검색이 되지 않는다
    // yyyymmdd로 변환을 시켜주기 위해 replace를 쓴다
    date1 = date1.replace(".", "");
    date2 = date2.replace(".", "");

Updated: