Q&A

  • Select 문에서 에러가 떠서요..
이 소스좀 보구 왜 에러뜨는지 좀 봐주세욤..

혼자 해결을 못하겠어서 글 올립니다.

제가 봤을 때는 틀린게 없는 거 같은뎅..

작업량이라는 테이블 하나만 검색하는건 되는데..팀이라는 테이블까지 연결했더니 에러가 뜨네요..

General SQL error Syntax error in FROM clause. <== 자꾸 이 에러가 뜨네요..

이거 보시구 답변 부탁드립니다. 참고로 DB는 MSAccess



with FindSql do

begin

close;

sql.clear;

if RadioButton1.Checked = true then

begin

with TeamSql do

begin

s_day := dateTostr(datetimepicker2.Datetime-1);

e_day := dateTostr(datetimepicker3.Datetime);



여기서부터 문제가 있는 거 같은뎅..=>

Sql.Add('Select 팀.D_Name as 팀명, count(작업량.I_Dept)as 팀원수,

sum (작업량.I_Mark) as 총목표 작업량, avg(작업량.I_Ach) as 평균일일

달성량, sum(작업량.I_Mark) as 총달성량 from 작업량,팀');

Sql.Add('Where 작업량.I_Date >'+ DateChange(s_day)+'and 작업량.I_Date

<='+DateChange(e_day)+'and 작업량.I_Dept = 팀.D_Code');

Sql.Add('Group by 작업량.I_Dept');

Open;

end;

end





1  COMMENTS
  • Profile
    Lee 2001.06.05 20:41
    Select 팀.D_Name as 팀명,

    count(작업량.I_Dept)as 팀원수,

    sum (작업량.I_Mark) as 총목표 작업량,

    avg(작업량.I_Ach) as 평균일일달성량,

    sum(작업량.I_Mark) as 총달성량

    from 작업량, 팀

    Where 작업량.I_Date > DateChange(s_day)

    and 작업량.I_Date <= DateChange(e_day)

    and 작업량.I_Dept = 팀.D_Code

    Group by 작업량.I_Dept



    ==> 정리가 이젠 되었나요?

    gropu by 문장은 select 문에서 정의된 필드 모두(단 count,sum 등

    계산용 필드 제외) ㅎ개ㅕㅔ ㅠㅛ 항목으로 설정해야합니다.



    따라서

    Select 팀.D_Name as 팀명,

    Group by 작업량.I_Dept 일치하지 않아서 오류가 생기는 것 같네요.



    select 와 group by 항목을 맞춰보세요 ^^;





    이은영 wrote:

    > 이 소스좀 보구 왜 에러뜨는지 좀 봐주세욤..

    > 혼자 해결을 못하겠어서 글 올립니다.

    > 제가 봤을 때는 틀린게 없는 거 같은뎅..

    > 작업량이라는 테이블 하나만 검색하는건 되는데..팀이라는 테이블까지 연결했더니 에러가 뜨네요..

    > General SQL error Syntax error in FROM clause. <== 자꾸 이 에러가 뜨네요..

    > 이거 보시구 답변 부탁드립니다. 참고로 DB는 MSAccess

    >

    > with FindSql do

    > begin

    > close;

    > sql.clear;

    > if RadioButton1.Checked = true then

    > begin

    > with TeamSql do

    > begin

    > s_day := dateTostr(datetimepicker2.Datetime-1);

    > e_day := dateTostr(datetimepicker3.Datetime);

    >

    > 여기서부터 문제가 있는 거 같은뎅..=>

    > Sql.Add('Select 팀.D_Name as 팀명, count(작업량.I_Dept)as 팀원수,

    > sum (작업량.I_Mark) as 총목표 작업량, avg(작업량.I_Ach) as 평균일일

    > 달성량, sum(작업량.I_Mark) as 총달성량 from 작업량,팀');

    > Sql.Add('Where 작업량.I_Date >'+ DateChange(s_day)+'and 작업량.I_Date

    > <='+DateChange(e_day)+'and 작업량.I_Dept = 팀.D_Code');

    > Sql.Add('Group by 작업량.I_Dept');

    > Open;

    > end;

    > end

    >

    >