안뇽하신가여 고수님들
아래의 소수에소 Sum(a.불량수량)/Sum(a.검사수량)) AS 불량율 이부분이 작동을 안함당
왜이런일이... 분명될거 같은디.... 왜 글죠...지발 암나 갈켜주시와여 ㅠ.ㅠ
그럼 이만..
에고 글구 추가여.... 혹시 %표시 나오게 하는법 아시는분 부탁 ^^
with query1 do
begin
close;
sql.Clear;
sql.Add('SELECT DISTINCT a.제품명, b.공정구분,');
sql.add('Sum(a.검사수량) as 검사수량, Sum(a.합격수량) AS 합격수량,');
sql.Add('Sum(a.불량수량) AS 불량수량,(Sum(a.불량수량)/Sum(a.검사수량)) 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.공정구분');
> with query1 do
> begin
> close;
> sql.Clear;
> sql.Add('SELECT DISTINCT a.제품명, b.공정구분,');
> sql.add('Sum(a.검사수량) as 검사수량, Sum(a.합격수량) AS 합격수량,');
> sql.Add('Sum(a.불량수량) AS 불량수량,(Sum(a.불량수량)/Sum(a.검사수량)) 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.공정구분');
distinct 말고 group by 로 묶어보시죠.
앞에분 말대로 디스팅트 랑 섬 이랑 같이 못쓰는데.