제목 | 두테이블에서 특정값만 들고 오고 싶습니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 릴리즈 | 작성시각 | 2017/03/24 15:34:45 |
|
|||
안녕하세요 코드이그나이터를 사용중에 있습니다. A 테이블에는 Idx 1 Name Lin Email email@email.com Phone 000 0000 0000
이렇게 되어있고
B테이블에는
Idx Name 0 Email 1 Phone 1
이렇게 되어있습니다.
출력하고자 하는값이 B테이블의 같은 이름의 컬럼에서 1일 경우만 값을 출력하고 싶습니다. 위의 예라면 Email과 Phone만 출력하려 합니다.(email@email.com,000 0000 0000)
서로 다른 테이블에서 같은 컬럼중 특정 값만 들고 올려하면 어떻게 하면 좋을까요
조언 부탁드립니다.
|
|||
다음글 | index 메소드 질문드립니다. (1) | ||
이전글 | application 밖에서 ci사용질문입니다. (1) | ||
kaido
/
2017/03/24 16:21:12 /
추천
0
|
릴리즈
/
2017/03/24 16:28:01 /
추천
0
아뇨 그렇다기 보단 둘다 동일한 컬럼이 존재하고 A에는 상세값이, B에는 0과 1만 존재합니다. 출력값의 조건이 2개입니다. A테이블과 B테이블의 Idx가 같은 상태에서 B테이블의 컬럼중 1인 컬럼들(Name, Email,Phone)등등 을 A테이블에서 값을 조회해 출력하고 싶습니다 |
kaido
/
2017/03/24 16:38:43 /
추천
0
SELECT A.* FROM table_a AS A INNER JOIN table_a AS B ON A.idx = B.idx WHERE B.email = 1 AND B.phone = 1
테이블 구조가 왜 그렇게 되어계신지 이해하기 힘들긴 합니다만.. 일단 idx가 동일 해야만 한다면 이런식으로 묶을수 있습니다. 묶지 않고 한다면 위에거 응용도 됩니다 SELECT * FROM table_a WHERE idx IN( SELECT idx FROM table_b WHERE name =1 and phone = 1 )
|
릴리즈
/
2017/03/24 18:27:25 /
추천
0
감사합니다 where in 을 깜빡하고 있었네요 덕분에 도움이 되었습니다
|
요약좀 하자면 join 으로 묶이지 않는 A와 B 테이블이 있고
Name 이 같은 테이블을 찾는다는 말씀 이신거죠?