강동희 입니다. 어려운 문제에 봉착해서 이렇게 질문을 드립니다.
제 스스로 해결해 보려 했는데, 시간이 모자라서 어쩔 수 없네요.
잘 부탁 드립니다. (-.-)(_._)(-.-)''
Query1에 | 'lgcd' | 'mgcd' | 'sgcd' | 'name' | 라는 필드가 있고요..
Query2는 여러 테이블을 조인한 데이터를 갖고 있고요...
이 Query2에도 | 'lgcd' | 'mgcd' | 'sgcd' | 'name' | 이라는 필드가 있어요..
물론 'lgcd','mgcd','sgcd' 는 Query1에서 사용한 테이블과 같은 테이블을
사용합니다 ..!
그래서, Query2에서 여러테이블에서 'lgcd','mgcd','sgcd'로 걸러내게 해줘야 하는데,
이렇게 했습니다.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
WITH DM.QUERY2 DO BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD('select lgcd, mgcd, sgcd, SHOP As 상점번호 , NAME As 점포명 , M_UID As 문항번호, SHORT1 As 질문내용 , M_VALUE As 보기, C_DESC As 답변내용 , C_POINT As 포인트 , C_RATE As 비율,(C_RATE*C_POINT) As 점수 ');
SQL.ADD('FROM LGM200101 , LGR200101 , COSUID , CALCTABL ');
SQL.ADD('WHERE m_uid = c_uid And m_value = c_value and uid = c_uid ');
Sql.Add('and m_shop = shop and c_per=1');
Sql.Add('and lgcd='''+DM.DTS1.DataSet.FieldByName('lgcd').AsString+''' ');
Sql.Add('and mgcd='''+DM.DTS1.DataSet.FieldByName('mgcd').AsString+''' ');
Sql.Add('and sgcd='''+DM.DTS1.DataSet.FieldByName('sgcd').AsString+''' ');
OPEN;
END;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
위와 같이 했는데, 자꾸 'General SQL Error 조건식의 데이터 형식이 일치하지 않습니다!'
라는 에러 메세지 가 뜨네요...
이럴땐 어떻게 Query1에 있는 lgcd, mgcd, sgcd를 읽어올 수 가 있을까요?
물론 Query1의 lgcd, mgcd, sgcd는 읽어 올수가 있는데,
아래처럼요..
edt1.text:=DM.DTS1.DataSet.FieldByName('lgcd').AsString;
edt2.text:=DM.DTS1.DataSet.FieldByName('mgcd').AsString;
edt3.text:=DM.DTS1.DataSet.FieldByName('sgcd').AsString;
Query2에서 는 그게 안되서요,...
부탁드립니다 ..!