合并DBGrid列值

时间:2012-03-24 12:03:41

标签: mysql sql delphi dbgrid

我的应用程序中有一个BDS 2006的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 NOMachine id显示为BILL NO,如果Machine id为2且BILL NO为1,则值应为2_1。 知道怎么做吗?

EDIT1

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

这个查询给我的结果如下

enter image description here

它给出machineandbillno = billno + pcid

1 个答案:

答案 0 :(得分:1)

我不知道具体的MySQL语法要求,但您必须将这两个字段连接在一起:

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