까마귀님의 충고대루 고쳤는디...동작을 안함당... 왜글죠 진짜루 울고 시포
참고로 전 지금 로컬디비인 파라독스를 사용하고 있습니당.....
출력 부분에 이상이 있나엽...
procedure TForm12.ListBox1Click(Sender: TObject);
begin
with form1.Query7,form6.Query6 do
begin
close;
sql.Clear;
sql.Add('select A.제품명,B.유발공정 from (검사명세 A left join 불량내역 B');
sql.Add('on A.제조번호 = B.제조번호)');
sql.Add('where A.제조번호="'+listbox1.items[listbox1.itemindex]+'"');
sql.add('and A.순번="'+edit1.text+'"');
open;
end;
if not form1.Query7.Eof and not form6.Query6.Eof then
begin
edit2.Text:=form1.Query7.fieldbyname('제품명').asstring;
edit3.Text:=form6.Query6.fieldbyname('유발공정').asstring;
end;
end;
end.
> 어제 까마귀님들이 도와주셨는디도 허접 사발이는 도저히 조인을 해결할수가 없어서 여러 고수님들께 이렇게 다시 도움을 청함당.....ㅠ.ㅠ
>
> 제가 할려구 하는 것은엽 음 테이블 3개를 조인 할려구 함당...ㅠ.ㅠ 그런디 영감이 안옴당..
>
> 음 그러니까엽 아래의 소스는 그중에서 2개만 조인 할려구 하다가 실패했구엽 제가 지금 하고픈것은엽 그런니까...
>
> 테이블1 테이블2 테이블3 이렇게 있슴당.......
>
> 테이블1 하구 테이블2의 공통점은 2개.... 아래의 순번과 제품번호임당...
>
> 글고 테이블2와 테이블3의 공통점은 불량코드임당.. ㅠ.ㅠ 고수님들 이제 어떻하면 조인을 할 수 있을 까엽 글구 조인후의 출력 문제에 대해서두 갈켜주심 성은이망극하겠습니당.... 이상 울보사발이었습니당...ㅠ.ㅠ
>
> procedure TForm12.ListBox1Click(Sender: TObject);
> begin
> with form1.Query7,form6.Query6 do
> begin
> close;
> sql.Clear;
> sql.Add('select A.제품명,B.유발공정 from 검사명세 A,불량내역 B');
> sql.Add('where A.제조번호 = B.제조번호 and ,');
> sql.Add('제조번호="'+listbox1.items[listbox1.itemindex]+'" and 순번="'+edit1.text+'"');
> open;
> end;
> if not form1.Query7.Eof and not form6.Query6.Eof then
> begin
> edit2.Text:=form1.Query7.fieldbyname('제품명').asstring;
> edit3.Text:=form6.Query6.fieldbyname('유발공정').asstring;
> end;
>
> end;
>
> end.
안녕하세요.
까마귀입니다. 좋은 하루 되시길....
아래는 제가 Table 3개를 조인할때 사용한 문장입니다.
정상적으로 사용된 문장이니까 문제는 없을겁니다. 최적화는...글쎄요?
With dm_Closing.q_Temp do
begin
Close;
SQL.Clear;
SQL.Add('Select M.Sano2, M.Gae, M.Ibdate, M.Gdate, M.Indate,');
SQL.Add('M.Inname, M.Sinname, M.Soname, M.Chname, M.Gaedate, M.IgGubun,');
SQL.Add('M.Gam, M.ZipCode, M.Jundate, M.GamVal, M.DaeVal, M.BuVal,');
SQL.Add('M.MacVal, M.ExVal, M.MinVal, N.Nname, M.Nakdate, J.Jbyun ');
SQL.Add('From (Main M LEFT JOIN Ncode N ');
SQL.Add('On M.NakChal = N.CodeKey) LEFT JOIN Jbyun J ');
SQL.Add('On M.Sano2 = J.Sano ');
SQL.Add('Where Sano2 = ''' + dm_Closing.q_Sch['Sano2'] + '''');
Prepare;
Open;
end;
이걸 토대로 사발우성님의 JOIN QUERY를 해보면..
어제 보니까 LEFT JOIN을 사용하시려는것 같던데..
Close;
SQL.Clear;
SQL.Add('Select A.제품명, B.유발공정');
SQL.Add('From (테이블1 A LEFT JOIN 테이블2 B');
SQL.Add('On A.제조번호 = B.제조번호) LEFT JOIN 테이블3 C');
SQL.Add('On B.불량코드 = C.불량코드');
SQL.Add('Where A.제조번호= ''' + listbox1.items[listbox1.itemindex] + ''' and A.순번 = ''' + edit1.text + '''');
Prepare;
Open;
이런식으로 하시면 될것 같네요.
그리고, "' 와 '''는 차이가 있는거 아닌가요?
저는 "' 이런식으로는 써보지 않아서 어떻게 될지 모르겠네요. 아무 문제없나?
그리고, with form1.Query7,form6.Query6 do 이렇게 해도 되는 모양이지요?
역시 이렇게 써보지 않아서...하하..
참 위 문장을 보니 각 폼에 Query가 흩어져 있는 모양인데요.
데이터 모듈을 써서 한 곳에 모아 놓는게 좋을것 같은데요.
위대한 단군혼이 살아있는 나라.... 대한민국.