개발환경.
Delphi5, ADOconnection, Access DB,
[Table 구조]
1. 업체 Table
ComID integer(일련번호) <- Primary Key
ComName String(30) //업체명
..., //기타필드.
2. 제품 Table
PrdID integer(일련번호) <- Primary Key
PrdName String(30) //제품명
..., //기타필드.
3. 출고 Table
ioSerial integer(일련번호) <- Primary Key
ioDate DateTime //출고 일자.
ComID integer(일련번호) <- FK(외부키) //업체 Table의 ComID
PrdID integer(일련번호) <- FK(외부키) //제품 Table의 PrdID
TotSu integer //출고수량
ioGum integer //출고금액
Remark String(30) //비고사항
4. 입금 Table
ioSerial integer(일련번호) <- Primary Key
ioDate DateTime //입금 일자.
ComID integer(일련번호) <- FK(외부키) //업체 Table의 ComID
ioGum integer //입금금액
Remark String(30) //비고사항
여기서 데이터가 다음이라 가정할 때
출고 테이블
ioSerial.....ioDate......ComID.......PrdID......TotSu.....ioGum.....Remark
==============================================================================
1............2000-02-03..1...........1..........100.......100,000...비고
2............2000-02-08..1...........1..........200.......200,000...비고
3............2000-02-12..1...........1..........100.......100,000...비고
4............2000-02-23..1...........1..........300.......300,000...비고
입금 테이블
ioSerial.....ioDate......ComID.......ioGum.....Remark
========================================================
1............2000-02-07..1...........100,000...비고
2............2000-02-20..1...........300,000...비고
다음 형태의 구조를 볼수있는 QUERY 문장을 부탁드립니다.
않되는 것인가요,,단, 새로운 테이블 생성 없이...
조인된 테이블
ioSerial.....ioDate......ComID.......PrdID......TotSu.....ioGum.....Remark
==============================================================================
1............2000-02-03..1...........1..........100.......100,000...비고
1............2000-02-07..1................................100,000...비고 < 입금
2............2000-02-08..1...........1..........200.......200,000...비고
3............2000-02-12..1...........1..........100.......100,000...비고
2............2000-02-20..1................................300,000...비고 < 입금
4............2000-02-23..1...........1..........300.......300,000...비고
UNION QUERY를 적용시 PrdID, TotSu등이 빠저요...
(SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM PrdIO)
UNION (SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM GumIO)
ORDER BY ioDate
...흑흑...
고수님들에 조언을...
헉헉 질문 읽는다고 고생했다.. 헉헉~~ ( 엑세스님이 상세히 질문을 하셔서 그래도
이해는 한것 같네요.. )
엑세스님... 제가 엑세스 디비는 다루어 본적이 없어서.. 실제로 되는지는 잘 모르겠
습니다만.. 그래도 제가 아는 방법을 말씀드릴께요... ( 엑세스님?? 어감이 좀
이상타.. ^^;)
> UNION QUERY를 적용시 PrdID, TotSu등이 빠저요...
>
> (SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM PrdIO)
> UNION (SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM GumIO)
> ORDER BY ioDate
union 절을 사용하실때 이놈은 그냥 하나이상의 쿼리의 각 필드 타입과 길이만 맞추어
주면 됩니다.. 다시 말해서 없는 필드는 만들어 넣으면 되죠...
select ioSerial, ioDate, CustID, PrdID, TotSu, ioGum, Remark FROM PrdIO
union
select ioSerial, ioDate, CustID, ' ', 0 , ioGum, Remark FROM GumIO
order by 2
될겁니다...
prdid가 문자형이고 totsu가 숫자형일때....
결과의 필드명은 첫번째 쿼리의 필드명으로 들어가고.. 두번째의 놈은 맞춰 주면 되죠.
여기서 조금만 응용하면 다른형태들도 가능하죠....
그럼.. 즐거운시간 되세요...
... 지발 엑세스 디비에서도 되기를.. ( 다시 말씀드리지만 엑세스에서 테스트 안해
봤어요.. 디비엔진 몇가지 쓸때.. 해본거죠... )
- 하얀까마귀 -
ACCESS wrote:
>
> 개발환경.
> Delphi5, ADOconnection, Access DB,
>
> [Table 구조]
> 1. 업체 Table
> ComID integer(일련번호) <- Primary Key
> ComName String(30) //업체명
> ..., //기타필드.
>
> 2. 제품 Table
> PrdID integer(일련번호) <- Primary Key
> PrdName String(30) //제품명
> ..., //기타필드.
>
> 3. 출고 Table
> ioSerial integer(일련번호) <- Primary Key
> ioDate DateTime //출고 일자.
> ComID integer(일련번호) <- FK(외부키) //업체 Table의 ComID
> PrdID integer(일련번호) <- FK(외부키) //제품 Table의 PrdID
> TotSu integer //출고수량
> ioGum integer //출고금액
> Remark String(30) //비고사항
>
> 4. 입금 Table
> ioSerial integer(일련번호) <- Primary Key
> ioDate DateTime //입금 일자.
> ComID integer(일련번호) <- FK(외부키) //업체 Table의 ComID
> ioGum integer //입금금액
> Remark String(30) //비고사항
>
> 여기서 데이터가 다음이라 가정할 때
>
> 출고 테이블
> ioSerial.....ioDate......ComID.......PrdID......TotSu.....ioGum.....Remark
> ==============================================================================
> 1............2000-02-03..1...........1..........100.......100,000...비고
> 2............2000-02-08..1...........1..........200.......200,000...비고
> 3............2000-02-12..1...........1..........100.......100,000...비고
> 4............2000-02-23..1...........1..........300.......300,000...비고
>
>
> 입금 테이블
> ioSerial.....ioDate......ComID.......ioGum.....Remark
> ========================================================
> 1............2000-02-07..1...........100,000...비고
> 2............2000-02-20..1...........300,000...비고
>
>
> 다음 형태의 구조를 볼수있는 QUERY 문장을 부탁드립니다.
> 않되는 것인가요,,단, 새로운 테이블 생성 없이...
>
> 조인된 테이블
> ioSerial.....ioDate......ComID.......PrdID......TotSu.....ioGum.....Remark
> ==============================================================================
> 1............2000-02-03..1...........1..........100.......100,000...비고
> 1............2000-02-07..1................................100,000...비고 < 입금
> 2............2000-02-08..1...........1..........200.......200,000...비고
> 3............2000-02-12..1...........1..........100.......100,000...비고
> 2............2000-02-20..1................................300,000...비고 < 입금
> 4............2000-02-23..1...........1..........300.......300,000...비고
>
>
> UNION QUERY를 적용시 PrdID, TotSu등이 빠저요...
>
> (SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM PrdIO)
> UNION (SELECT ioSerial, ioDate, CustID, ioGum, Remark FROM GumIO)
> ORDER BY ioDate
> ...흑흑...
>
> 고수님들에 조언을...