2012-03-24 8 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したいとMachine idは2とBILL NOある場合の値は、2_1する必要があることを行うにはどのように任意のアイデア1. のですか?

EDIT1

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

このクエリは、それがmachineandbillno = billno + PCIDに

+0

カラムのデータ型を指定した場合は、データに関する質問をするときに非常に役立ちます。あなたの編集の前に上記のどこにも、あなたは 'double'であるカラムについて何も言及していません。 'pcid'列と' billno'列のデータ型は何ですか? –

+0

pcidとbillnoのデータ型はINTEGERです。 –

答えて

1

を与え、私は特定のMySQLの構文を知らない

enter image description here

を次のようになり、私を与えますこれらの2つのフィールドを連結する必要があります。

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

私は自分の質問を編集しました。 –

+0

これは完璧に動作します。答えがありがとうございます。 –

関連する問題