Accel.
243
2021-10-07 10:39:56 작성 2021-10-07 10:43:32 수정됨
6
149

mysql 데이터베이스 질문있습니다


전체 테이블에서 address, lat, lng 라는 컬럼을 가진 테이블의 값만 조회 하려고 하는데요 

문제는 몇몇 조건에 맞는 테이블 중 컬럼의 address 가 다른 컬럼 명으로 저장되어 있다는 점입니다 .. 그렇다고 컬럼명을 바꾸면 다른 부분이 왕창 꼬여버려서요 

처음에는 그냥 union 으로 일일히 해당하는 테이블만 다중 셀렉트하자고 생각했는데 (이러면 다른 컬럼명도 최상위 셀렉트를 따라가니까 해결되고요)

나중에 address, lat, lng 라는 컬럼을 가진 테이블을 추가하면 쿼리문을 또 수정해야하니까요..

방법이 없을까요?
0
  • 답변 6

  • roamer
    411
    2021-10-07 11:06:01 작성 2021-10-07 11:08:20 수정됨

    다른 두 테이블을 조인하는건가요 ? 다른 두테이블을 조인해서 쓰는거면 Atable.address = Btable.다른컬럼명 으로 조인하면 될것같은데요

  • Accel.
    243
    2021-10-07 11:12:41 작성 2021-10-07 11:13:43 수정됨

    아뇨 테이블 수는 가변입니다. 현재는 15개가 조금 넘네요

  • 더미
    16k
    2021-10-07 13:10:46

    다른 컬럼명도 같이 조회하면 되죠

  • Accel.
    243
    2021-10-07 13:54:17 작성 2021-10-07 13:54:36 수정됨

    현재 특정 컬럼을 가진 테이블까진 이렇게 찾았고 이거를 php 단에서 테이블 명을 배열로 저장한다음 반복문으로 union 이하 쿼리문을 반복해서 붙이려고 합니다.



  • roamer
    411
    2021-10-07 16:05:52 작성 2021-10-07 16:07:11 수정됨

    DB설계가 이상한거아닌지.... 굳이 그렇게 설계해야할 이유가있나요? union은 그리좋은 sql작성문은 아니라서..

  • Accel.
    243
    2021-10-07 16:31:48

    제가 처음부터 참여한게 아니라서요 ㅠ 전체 게시판에 있는 위치정보를 읽어야 되서 방법이 없네요


    지금은 그누보드에서 union을 막아놨다 해서 union 문을 뷰로 만들어서 어떻게 일단락은 했습니다 ㅠ

  • 로그인을 하시면 답변을 등록할 수 있습니다.