테스트 사이트 - 개발 중인 베타 버전입니다

이런 조인문 쿼리가 될까요? 채택완료

스니음 5년 전 조회 3,431

g5_basic1
필드1 필드2 필드3
01     0004   Y
01     0001
02     0004   Y
01     0004
05     0003
03     0014   Y
01     0004
04     0020   Y

g5_write_basic2
필드1
010004
040044
010014
030014
010033
010004
040020
010004
030002
010004
010001
080001
010024
060044
010003
070005

 

예를 들어 이런 테이블이 2개가 있는데 g5_write_basic2 여기 게시판 리스트를 뿌려줄때

 

g5_basic1 에 필드3의 값이 Y 인 것만 나오게는 했는데 문제는

 

for 문 안에다가 if문을 걸어서 Y값만 나오는데 이게 그러다보니깐 for문 안에 배열값 그러니깐 $i 의 값이 순서대로 나오는게 아니라 1, 4 ,6 ,8 이런식으로 구멍이 빠지게 나옵니다.  꼭 배열값이 순서대로 나와야 되서리

 

그래서 쿼리문에서 2개의 테이블을 조인해서 한번에 나오게 하고 싶은데

 

어떻게 조인문을 써야 할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
플래토
5년 전

selet a.필드1, b.필드1, b.필드2, b.필드3

from g5_wrtie_basic2 a,

       g5_basic1 b

where 

    a.필드1 = concat(b.필드1,b.필드2)

    and b.필드3 = 'Y'

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

백수1995 님, 플래토 님 감사합니다.

 

2분 다 감사합니다. 다 되요 ㅎㅎ ^^ 플래토님이 먼저 답변을 다셔서 그분꺼로 채택했습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

백수1995
5년 전
플래토 님의 쿼리나 제거나 비슷하지만 다른 부분이 뭔지 공부 해보시길 추천합니다. ^^

채택이 안되서 답글 다는건 아니니 오해 마시구요 ㅋㅋ
스니음
5년 전
ㄴ백수1995
넵. 감사합니다. ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

5년 전

이해가 잘 안됩니다. ^^

예상 결과값을 보여주시면 도움을 드릴수 있겠습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

스니음
5년 전
화면에 나오는 값
010004
030014
040020
이렇게 나옵니다. g5_basic1에 필드3 값중에 Y 인값만 나오는거죠
필드1+필드2 합친게 g5_write_basic2 여기에서는 합쳐서 010004 이런식으로
백수1995
5년 전
select b.필드_1
from g5_write_basic2 b
inner join (select concat(a.필드1,a.필드2) 필드_4 from g5_basic1 a where a.필드_3 = 'Y') c
on c.필드_4 = b.필드_1

배열값의 순서는 어떻게 정의하죠?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인