디비를 공부한지 별로 안된 초보입니다.
제가 지금 A테이블에 login_id와 friend_nm이 있고 B테이블에도 friend_nm이 있습니다
총 테이블은 2개이고요
제가 따로 만든 로그인페이지에서 A테이블의 정보를 가져와 로그인ㅇ ㅏ이디로 로그인을 하면
a테이블의 정보를 가지고 있을텐데 이때 로그인된 페이지에서 조회 버튼을 눌렀을때
로그인한 friend_nm이랑 B테이블의 friend_nm이 같을때만 조회되도록 하고 싶은데 어떻게 해야하나요?
저 스스로도 정리가 잘안되서 말을 잘못하겠는데 이해하신분들이 계신다면 도와주시면 감사하겠습니다.
Comment 7
-
축구선수
2018.02.28 10:10
-
아라라락락
2018.02.28 10:27
저도 그렇게했었는데요 제가만약 BBORORO라는 아이디로 로그인을하면 친구이름을 뽀로로를 가져오는데요
이 뽀로로랑 다른테이블의 뽀로로랑 비교해서 같은값만 조회하려고하는데 다른거까지 다뜨더라고요
LEFT, INNER 다해봤는데 ㅠㅠ 제가 쿼리문을 잘못짠건가여??
-
아라라락락
2018.02.28 10:28
아 참고로 a테이블에는 friend_nm만있고 b테이블에 로그인이랑 friend_nm이 있던겁니다! 반대입니다 ㅎㅎ
-
축구선수
2018.02.28 15:36
WHERE절에 A.LOGINID = @아이디 이런 조건이 있나요?
아마 A테이블 기준이라 A테이블에 있는것을 다 보여주는거 같긴한데
혹시 작성된 쿼리문 올려주실수 있으신가요?
-
이리
2018.02.28 11:08
테이블 구조와 작성하셨던 쿼리를 올려주시면 답변이 편할 거 같습니다.
혹시 WHERE 절에 조건을 안거신건 아닌지요?
-
아라라락락
2018.02.28 11:21
A 테이블은 컬럼이 LOGIN_ID와 FRIEND_NM이고요 B테이블은 FRIEND_NM 입니다 그리고
SELECT A.FRIEND_NM
FROM atbl AS A
INNER JOIN btbl AS B
ON A.FRIEND_NM = B.FRIEND_NM
이런식으로하고 조건을 모르겠습니다.....
-
안돼요
2018.02.28 13:34
A에 LOGIN_ID, FRIEND_NM
B에 FRIEND_NM
인데 굳이 B테이블 조인걸어서 조회하는 이유가 뭐죠?
FRIEND_NM을 조인걸어서 B테이블에 다른 컬럼을 조회하는건가요?
질문내용이 조금 이상한거 같은데..
WHERE A.LOGIN_ID = @ID
하시면 되는거 같은데
제가 잘못이해했나요
A 테이블과 B 테이블을 조인하시면 됩니다.
A join B on A.friend_nm = B.friend_nm
여기서 조인 할때 조인의 종류가 여러가지가 있는데 사용하시는 목적에 맞는 조인절 사용하시면 됩니다.
예를 들면
A left outer join B on A.friend_nm = B.friend_nm 하시면 A테이블 기준으로 B테이블에 있는 데이터들만 보여지게 됩니다.