Q&A

  • sql쿼리에 관해 질문드립니다.
테이블이 두개있는데요.
table1은 관리번호필드, 명칭필드 등등이 있고 table2에는 날짜필드와 table1의 관리번호필드
등등이 있습니다.
table2에 데이터를 입력하는 프로그램을 만들고 있는데요.
최초 폼이 로드되면서 table1의 명칭필드를 가져와서 보여줍니다.
그리고 table1의 명칭필드은 입력시에도 이용이 됩니다.
그런데 날짜와 명칭필드가 일치할경우에는 체크를 해주게끔 하려고 합니다.
그럴려면 table2에서 날짜필드와 명칭필드를 가져와서 비교를 해야하거든요.
전 명칭필드을 가져오는 콤보와 관리번호필드를 가져오는 콤보 두개를 사용해서
체인지 이벤트에다
   for i := 0 to combo1.DropDownCount -1 do
      if combo1.ItemIndex = i then
         combo2.ItemIndex := i;
이렇게 해줬거든요.
그런데 위 방법은 관리번호필드와 명칭필드가 정확하게 매칭이 안되거든요.
테이블에 있는 순서 고대로 가져왔을때 먹히는 방법이고 만약 sorting이 되서 나온다면
무용지물이거든요.
위와 같을때 콤보를 하나더 쓰지않고 sql 쿼리로만 해결해줄수 있는 방법을 알고싶습니다.

부탁드리겠습니다. 감사합니다.

1  COMMENTS
  • Profile
    머슴 2002.04.12 22:37
    select a.날짜필드,a.관리번호필드,b.명칭필드  from table2 a
      (select 관리번호,명칭필드 from table1 ) b
      where a.관리번호필드 = b.관리번호필드;

      만약 관리번호필드를 입력필수 조건이 아니면

      select a.날짜필드,a.관리번호필드,b.명칭필드  from table2 a
      (select 관리번호,명칭필드 from table1 ) b
      where a.관리번호필드 = b.관리번호필드(+);