Q&A

  • SQL에서 연산을 할때.
sql_str :='select left(b.Code,4)'+'+''-''+'+'mid(b.code,5,3)'+'+''-''+';

sql_str := sql_str + 'mid(b.code,8,4)'+'+''-''+';

sql_str := sql_str + 'right(b.code,1) as 코드, b.B_No as 코드1,';

sql_str := sql_str + 'b.B_Name as 코드명, b.bk_value as 단가1,';

sql_str := sql_str + 'b.bi_value as 단가2,';

sql_str := sql_str + '(b.price1+ b.price2) as 가격1,';--1

sql_str := sql_str + '(b.nkwn + b.nkvt) as 가격2,';--2

sql_str := sql_str + 'b.k_num as 재고1, b.i_num as 재고2 from Bupum b ';

sql_str := sql_str + 'where b.b_no = (select b_no from bupum1 where code like ''' + cs + '%'')';

with Query1 do

begin

close;

SQL.Clear;

SQL.ADD(SQL_Str);

Open;



안녕하세요..궁금해서 이렇게 소스까지 올리게 되었습니다.

위에 보시면 가격1, 가격2 라고 되어있는 부분에서 자꾸만 에러가 납니다.

SQL 에서 sum(b.nkwn + b.nkvt) 라고 써주게되면 값이 나옵니다. 위에서 처럼 SQL 문을 삽입해쓸때는 저렇게 쓰면 에러가 납니다. 어떻게 써줘야하는지 궁금... ?



가격1과 가격2을 내려고 하는데.. 가격1은 price1과 price2를 더해야합니다.

그리고, 데이터타입은 둘다 숫자고요.. SQL문에서 어떻게 연산을 해야하는지..



부탁드립니다.

1  COMMENTS
  • Profile
    낙화 2000.11.11 03:59


    sql문을 대입할때 sql.add 를 쓰지말고

    sql.text 를 사용해보시길 바랍니다..한결 소스보기가 수월할겁니다..





    const



    SELECT_TABLE1 = 'Selct a, b, c ' +

    ' From Table1 ' +

    ' Where a = 100 ' ;

    ...

    ...



    procedure Select;

    begin

    with query1 do

    begin

    Close;

    Clear;

    SQL.Text := SELECT_TABLE1;

    Open;

    .........

    .........



    end;

    end;



    neperz wrote:

    > sql_str :='select left(b.Code,4)'+'+''-''+'+'mid(b.code,5,3)'+'+''-''+';

    > sql_str := sql_str + 'mid(b.code,8,4)'+'+''-''+';

    > sql_str := sql_str + 'right(b.code,1) as 코드, b.B_No as 코드1,';

    > sql_str := sql_str + 'b.B_Name as 코드명, b.bk_value as 단가1,';

    > sql_str := sql_str + 'b.bi_value as 단가2,';

    > sql_str := sql_str + '(b.price1+ b.price2) as 가격1,';--1

    > sql_str := sql_str + '(b.nkwn + b.nkvt) as 가격2,';--2

    > sql_str := sql_str + 'b.k_num as 재고1, b.i_num as 재고2 from Bupum b ';

    > sql_str := sql_str + 'where b.b_no = (select b_no from bupum1 where code like ''' + cs + '%'')';

    > with Query1 do

    > begin

    > close;

    > SQL.Clear;

    > SQL.ADD(SQL_Str);

    > Open;

    >

    > 안녕하세요..궁금해서 이렇게 소스까지 올리게 되었습니다.

    > 위에 보시면 가격1, 가격2 라고 되어있는 부분에서 자꾸만 에러가 납니다.

    > SQL 에서 sum(b.nkwn + b.nkvt) 라고 써주게되면 값이 나옵니다. 위에서 처럼 SQL 문을 삽입해쓸때는 저렇게 쓰면 에러가 납니다. 어떻게 써줘야하는지 궁금... ?

    >

    > 가격1과 가격2을 내려고 하는데.. 가격1은 price1과 price2를 더해야합니다.

    > 그리고, 데이터타입은 둘다 숫자고요.. SQL문에서 어떻게 연산을 해야하는지..

    >

    > 부탁드립니다.