2012-03-24 2 views
1

내 응용 프로그램에 BDS 2006의 DBGrid 구성 요소가 있습니다. 그리드의 스냅 샷은 다음과 같습니다.DBGrid 열 값 결합

enter image description here

DBGrid를 구성 요소는 런타임에 채워됩니다 MySQL 데이터베이스에 연결되어 있습니다. 내가 사용한 쿼리는 다음과 같습니다

dm.MyQpayment.SQL.Clear; 
dm.MyQpayment.SQL.Add('select sdate,stime,pcid,billno,c.customer_name,s.customerid,s.total,s.amount_paid,s.balance'); 
dm.MyQpayment.SQL.Add(',s.payment_type,s.payment_status,s.delivery from sales_order s left join customer_details c on s.customerid=c.customerid where s.payment_status=''complete'' and s.sdate>="'+startdate+'" and s.sdate<="'+enddate+'" '); 
dm.MyQpayment.Active :=true; 

내가 BILL NO으로 BILL NOMachine id을 DISPALY하고 싶은 값이 2_1해야한다, Machine id가 2이고, BILL NO 1. 그 작업을 수행하는 방법에 어떤 생각을하는 경우?

EDIT1

select CAST(pcid AS CHAR) + "_" + CAST(billno AS CHAR) AS MachineAndBillNo 
FROM tt.payment_details ; 

이 쿼리는 machineandbillno = billno + PCID는

+0

열의 데이터 형식을 입력하면 데이터에 대해 질문 할 때 매우 유용합니다. 편집하기 전에 위의 아무 곳에서나 '이중'열 중 하나에 대해 언급하지 마십시오. 'pcid'와'billno' 컬럼의 데이터 타입은 무엇입니까? –

+0

pcid 및 billno 데이터 유형은 INTEGER입니다. –

답변

1

내가 특정 MySQL의 구문을 모르는 제공

enter image description here

을 다음과 같이 날이 발생할 수 있습니다 이 두 필드를 연결해야합니다.

SELECT 
    sdate, 
    stime, 
    CONCAT(CAST(pcid AS CHAR), '_', CAST(billno AS CHAR)) AS MachineAndBillNo, 
    c.customer_name, 
    ... 
+0

내 질문을 편집했습니다. –

+0

이것은 완벽하게 작동합니다. 대답에 감사드립니다. –