테이블설계 및 쿼리질문입니다 0 2 443

by 둘기 [MySQL] [2020.02.12 16:43:46]


 

user  테이블

  no (PK)    id  디바이스 권한 
 1  qwe  100,101,102
 2   asd  103
 3   master    100,101,102,103 

 

deivce 테이블 

 no      이름
 100  A 디바이스
 101  B 디바이스
 102  C 디바이스
 103  D 디바이스   

 

현재 이런식으로 테이블이있습니다,

근데 찾아본결과 유저테이블에 하나의컬럼에 여러정보가들어간게 문제가되더군요 

그래서 유저테이블에있던 디바이스권한 부분은 제거했습니다 

 

 

  user_no      device_no  
 1  100
 1   101
 1  102
 2  103
 3  100
 3  101
 3  102
 3  103

그리고 이렇게  어떤 유저가 어떤 디바이스 권한이 있는지 저장하는 테이블을 따로 뺐습니다

 

여기서 쿼리할때 질문이있습니다

예를들면 1번유저로 쿼리할경우

 100    A 디바이스 
 101  B 디바이스  
 102   C 디바이스

이렇게 해당유저가 권한을 가지고있는 디바이스의 no,이름 목록이 나왔으면 좋겠습니다

조인을 찾아봤더니 2개의 테이블만 많이나오더라구요..

서브쿼리인가..그걸 써야하는건지?

 

선배님들의 조언부탁드립니다 키워드나 링크만 주셔도 알아서 공부해보겠습니다 감사합니다 

by 마농 [2020.02.12 17:03:55]
SELECT a.device_no
     , b.name AS device_name
  FROM user_device a
     , device b
 WHERE a.user_no = 1
   AND a.device_no = b.no
;

 


by 둘기 [2020.02.12 17:31:01]

감사합니다 ! 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입