Q&A

  • 합을 나눌려구 하는디 안돼네여..어떻게 해야 하나여....???
이건 지가 할려구 하는 건디여...음 합을 나눌려구하는디... 안먹네여...



왜글죠... 합과 나누기를 한번에 할순 없나여????



아시는 고수님들 갈켜주시와여......글면 행복하시와여........ ^___________^



with query1 do

begin

close;

sql.Clear;

sql.Add('SELECT a.제품명, b.공정구분,');

sql.add('Sum(a.검사수량) as 검사수량,');

sql.add('Sum(a.합격수량) AS 합격수량,');

sql.Add('Sum(a.불량수량) AS 불량수량,');

sql.add('(sum(a.불량수량)/sum(a.검사수량)*100) AS 불량율');

sql.Add('FROM (공정명세 b INNER JOIN 검사명세 a ON b.공정코드=a.공정코드)');

sql.add('WHERE a.검사일자 between :now1 and :now2');

parambyname('now1').asdatetime:=datetimepicker1.Date;

parambyname('now2').asdatetime:=datetimepicker2.Date;

if combobox1.ItemIndex<>-1 then

begin

sql.add('and b.공정구분=:scode');



parambyname('scode').asstring:=combobox1.text;

end;

if combobox3.ItemIndex<>-1 then

begin

sql.Add('and a.제품명=:mname');

parambyname('mname').asstring:=combobox3.Text;

end;

sql.add('GROUP BY a.제품명, b.공정구분');

open;

end;

5  COMMENTS
  • Profile
    plan0611 2000.08.28 20:37
    [답변] sql문은 이상한 곳이 없는 것 같은데, 혹시 a.검사수량의 합 또는 a.불량수량

    의 합이 0인 데이타 있는 것 같은데, 분모가 '0(zero)' 이면 불능이죠....

    그래서 나누어지지 않는 것이 아닐까 하는 생각을 합니다만......





    사발우성 wrote:

    > 이건 지가 할려구 하는 건디여...음 합을 나눌려구하는디... 안먹네여...

    >

    > 왜글죠... 합과 나누기를 한번에 할순 없나여????

    >

    > 아시는 고수님들 갈켜주시와여......글면 행복하시와여........ ^___________^

    >

    > with query1 do

    > begin

    > close;

    > sql.Clear;

    > sql.Add('SELECT a.제품명, b.공정구분,');

    > sql.add('Sum(a.검사수량) as 검사수량,');

    > sql.add('Sum(a.합격수량) AS 합격수량,');

    > sql.Add('Sum(a.불량수량) AS 불량수량,');

    > sql.add('(sum(a.불량수량)/sum(a.검사수량)*100) AS 불량율');

    > sql.Add('FROM (공정명세 b INNER JOIN 검사명세 a ON b.공정코드=a.공정코드)');

    > sql.add('WHERE a.검사일자 between :now1 and :now2');

    > parambyname('now1').asdatetime:=datetimepicker1.Date;

    > parambyname('now2').asdatetime:=datetimepicker2.Date;

    > if combobox1.ItemIndex<>-1 then

    > begin

    > sql.add('and b.공정구분=:scode');

    >

    > parambyname('scode').asstring:=combobox1.text;

    > end;

    > if combobox3.ItemIndex<>-1 then

    > begin

    > sql.Add('and a.제품명=:mname');

    > parambyname('mname').asstring:=combobox3.Text;

    > end;

    > sql.add('GROUP BY a.제품명, b.공정구분');

    > open;

    > end;

  • Profile
    사발우성 2000.08.28 22:39
    답변 감솨함당...^^



    하지만 sum(a.불량수량)은 절대루 never 0 이아님당...^^



    1이상임다....



    헐 어떻게 해야 좋을지 정말루...ㅠ..ㅠ



    1주일을 이것땜시 안것두 못하구 있음다..



    이것 말구도 해야할일이 태산인디 ㅠ.ㅠ



    sql문에 정말 암이상두 없나여??



    그럼 암문제두 없는디. 왜안될까여



    분명히 sum(a.검사수량)과 sum(a.불량수량) 의 값은 나옴다..



    또 sum(a. 검사수량) * sum(a.불량수량) 이렇게 하면 값이나옴다....



    어떻게 된일인지 (/) 기만 하면 값이 안나옴당.. 어째서 이런일이 ㅠ.ㅠ



    지발그이유를 갈켜줘여 ㅠ.ㅠ



  • Profile
    이창식 2000.08.28 19:23
    저도 잘은 모르지만 group by 절 때문인 것 같군요.

    group by 절을 다시 작성 해보세요.

    실력이 딸려 더 자세히는 ... ^^;







    사발우성 wrote:

    > 이건 지가 할려구 하는 건디여...음 합을 나눌려구하는디... 안먹네여...

    >

    > 왜글죠... 합과 나누기를 한번에 할순 없나여????

    >

    > 아시는 고수님들 갈켜주시와여......글면 행복하시와여........ ^___________^

    >

    > with query1 do

    > begin

    > close;

    > sql.Clear;

    > sql.Add('SELECT a.제품명, b.공정구분,');

    > sql.add('Sum(a.검사수량) as 검사수량,');

    > sql.add('Sum(a.합격수량) AS 합격수량,');

    > sql.Add('Sum(a.불량수량) AS 불량수량,');

    > sql.add('(sum(a.불량수량)/sum(a.검사수량)*100) AS 불량율');

    > sql.Add('FROM (공정명세 b INNER JOIN 검사명세 a ON b.공정코드=a.공정코드)');

    > sql.add('WHERE a.검사일자 between :now1 and :now2');

    > parambyname('now1').asdatetime:=datetimepicker1.Date;

    > parambyname('now2').asdatetime:=datetimepicker2.Date;

    > if combobox1.ItemIndex<>-1 then

    > begin

    > sql.add('and b.공정구분=:scode');

    >

    > parambyname('scode').asstring:=combobox1.text;

    > end;

    > if combobox3.ItemIndex<>-1 then

    > begin

    > sql.Add('and a.제품명=:mname');

    > parambyname('mname').asstring:=combobox3.Text;

    > end;

    > sql.add('GROUP BY a.제품명, b.공정구분');

    > open;

    > end;

  • Profile
    사발우성 2000.08.28 20:21
    답변 감솨 함당...^^



    하지만 group by 절은 암이상 없다구여 ^^



    group by절을 삭제하면 에러가 남당..^^



    글구 삭제할수도 없구여.. 다시 작성하라구 하셨는디..



    어떻게 작성하라는 말씀이신지??? 궁금함당.....

  • Profile
    이창식 2000.08.28 20:52
    네~ ^^;

    제 생각에는 group by 절에 앞에서 sum함수를 쓰신 부분 그대로를 추가 해주세요.

    as 절 이하는 빼시고요. 좀 무식 하지만 ^^;



    제가 시험 해볼 수 있으면 어떻게 방법을 찾아 드리겠지만 지금은

    그정도까지의 여유는 없군요.

    죄송합니다. ^^;





    사발우성 wrote:

    > 답변 감솨 함당...^^

    >

    > 하지만 group by 절은 암이상 없다구여 ^^

    >

    > group by절을 삭제하면 에러가 남당..^^

    >

    > 글구 삭제할수도 없구여.. 다시 작성하라구 하셨는디..

    >

    > 어떻게 작성하라는 말씀이신지??? 궁금함당.....