C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[51936] Re:Re:Re:Re:[질문]필드의 갯수가 문제가 아니였네요.
슬.강슬기 [mydog21] 1264 읽음    2008-01-17 16:24
결과를 이해하려하지 마시고 sql문을 살펴보시는게 도움이 될것 같습니다.
그리고, 테이블 구조를 적어 주시면.. 도움이 될 수 있겠군요.

현재, 중복되는 데이터들의 최상값을 알기위한 쿼리를 작성이 목표입니다.
제가 사용한 방법은 중복값들을 Group 으로 묶어서 그 중 최대 날자를 구하는 식이었구요.
중복이라고 판단할 수 있는 Key 값과 최대값을 찾을 수 있는 Index Key가 있다면,
몇개가 있든 관계없습니다.

중복되지 않는 필드라면 identity 속성을 가진 Primary key가 있으면 좋겠군요.

데이터베이스 설계및, 정규화를 공부하시면 좋을것 같습니다.

더 궁금하시다면... 테이블 구조와 원하는 결과를 알려주시면 도와 드리겠습니다.

unitas 님이 쓰신 글 :
: 여러가지 필드를 바꾸어서 시험을 해봤는데
: 필드의 값이 중복되는것들만 넣으면 괜찮은데 중복이 되지 않는 것. (예를 들면 시간등)을 추가하면
: 테이블의 값이 모두 출력이 됩니다.
:
: 시간등 중복되지 않는 필드가 필요한데 좋은 밥법이 없을까요?
:
:
:
: unitas 님이 쓰신 글 :
: : 답변 감사드립니다.
: : 말씀하신대로 IBExpert 에서 실행해 보니 되는데요.
: : 제가 질문의 편의상 고객번호와 고객명을 예로 든 것이거든요.
: : 실제로 가져올 필드가 7가지 정도 되는데요.
: :
: : select CustID, CustName, SysID, dtTime, max(dtDate) as dtDate from table1 
: : where dtDate < '2008-01-16' group by CustID, CustName, SysID, dtTime;
: :
: : 이런식으로 필드가 4가지 이상되면 Table에 있는 모든 data가 표시되거든요.
: : (CustID, CustName, SysID 이런식으로 3개 까지는 잘 표시됩니다.)
: :
: : SysID는 CustName(고객명)와 같은 고객에 대한 일반적인 정보입니다.
: : dtTime은 시간 입니다.
: :
: : 필드의 갯수도 영향이 있나요?
: :
: :
: :
: : 슬.강슬기 님이 쓰신 글 :
: : : 제가 Firebird는 아니지만...
: : :
: : : 아래의 구문은 AnsiSql로만 이루어진것이니.. 가능할겁니다.
: : :
: : : create table t1 (고객번호 int , 고객명 varchar(255),판매일자 datetime);
: : : go
: : : insert into t1  values(1,'홍길동','2008-01-10');
: : : insert into t1  values(2,'박길동','2008-01-11');
: : : insert into t1  values(1,'홍길동','2008-01-12');
: : : insert into t1  values(2,'박길동','2008-01-13');
: : : insert into t1  values(1,'홍길동','2008-01-14');
: : : go
: : :
: : : select
: : :     고객번호,
: : :     고객명 , 
: : :     max(판매일자) as 판매일자
: : : from
: : :     t1
: : : group by
: : :     고객번호, 고객명
: : :
: : : 고객번호 고객명 판매일자                                                  
: : : -------- ------ -----------------------
: : : 2        박길동 2008-01-13 00:00:00.000
: : : 1        홍길동 2008-01-14 00:00:00.000
: : :
: : : (2 row(s) affected)
: : :
: : : MS-Sql입니다.
: : :
: : :

+ -

관련 글 리스트
51926 [질문]SQL 중복제외한 선택 unitas 2466 2008/01/17
51931     Re:[질문]SQL 중복제외한 선택 슬.강슬기 1653 2008/01/17
51934         Re:Re:[질문]감사합니다. 한가지만 더 질문할께요. unitas 1066 2008/01/17
51935             Re:Re:Re:[질문]필드의 갯수가 문제가 아니였네요. unitas 1075 2008/01/17
51936                 Re:Re:Re:Re:[질문]필드의 갯수가 문제가 아니였네요. 슬.강슬기 1264 2008/01/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.