Q&A

  • Left Join에 관한 질문 입니다.
안녕하세요 수고 많습니다.

Delphi 4.0, Ms-SQL 7.0을 사용하고 있습니다.

join에서 조건을 추가를 하고 싶습니다.

아무리 노력을 해도 잘 되지 않습니다.

아래는 제가 작성한  Left Join입니다.

많은 답변을 부탁 드립니다.

with QFacOrder8 do
       begin
       Close;
       Sql.Clear;
       Sql.Add('Select a.*, b.Color_MinColor Color, b.Color_Best best ');
       Sql.Add('From Matr_Code a                                                   ');
       Sql.Add(' Left Outer Join Matr_Color b On a.Matr_Code =           ');
       Sql.Add('  b.Matr_Code                                                          ');

       //Sql.Add('Where a.Matr_worker =:p1                                      ');

Matr_Worker:담당자 즉 아이템을 입력을 시킨 담당자 입니다.
담당자 가 입력 시킨 아이템을 가지고 해당 되는 데이타를 가지고 오고
싶어요. (Left Join을 쓰는 이유: a 테이블 하나의 아이템은 b 테이블에
             50개 이상 테이타 생성을 합니다. 50개 테이타를 가지고와서
            50개 데이타을 이용하여 좋은데 사용해야 하기 때문에 그렇습니다.)
꼭 Left Join을 사용을 하여야 하지만 차선책 으로 좋은 방법이 있으며
답변을 주시면 감사 하겠습니다.

       Sql.Add('Order By a.Matr_Code, a.Matr_Size                           ');

        //ParamByName('p1').asstring:=FlatComboBox4.Text;

        Open; i1:=0;
        kg1.ZapGrid(1,0,RecordCount + 2 );
        while not eof do
                begin
                i1:=i1+1;
                SCells[0, i1]:=FieldByNAme('Matr_Code'     ).asstring;
                SCells[1, i1]:=FieldByNAme('Matr_Name'    ).asstring;
                SCells[2, i1]:=FieldByNAme('Matr_Size'      ).asstring;
                SCells[3, i1]:=FieldByNAme('Color'             ).asstring;
                Next;
                end;
       Close;
       end;  
감사 합니다.
그럼 수고 하세요
0  COMMENTS