0

我正在运行一个汽车预算项目,该项目需要 mysql 下的表链接过程。由于显示有限,所以我需要从一些表中收集所有需要的信息以显示在汇总表中。

有些信息可能是空白的,我需要它显示“-”而不是空单元格。

这是我的桌子:

汽车数据库

c_id    c_brand    c_ver    c_buy_date
--------------------------------------
1       toyota     camry    2013-04-20
2       nissan     teana    2013-04-15
3       toyota     soluna   2013-04-10
4       honda      accord   2013-04-10

car_bal

cb_id    cb_cid    cb_cost    c_repair
--------------------------------------
1        4         150000     20000
2        3         100000     15500

*而 cb_cid=car_db.c_id

当显示 car_db 表时,我期望:

Car ID    Brand/Model      Bought On    Cost     Repair    Total Cost
1         Toyota Camry     2013-04-20   -        -         -
2         Nissan Teana     2013-04-15   -        -         -
3         Toyota Soluna    2013-04-10   100000   15500     115500
4         Honda Accord     2013-04-10   150000   20000     170000

所以我写道:

select 
concat(car_db.c_brand,'-',car_db.c_ver) as brand,
car_db.c_buy_date as buy_date,
car_bal.cb_cost as cost1,
car_bal.cb_repair as repair,
(sum(car_bal.cb_cost) + sum(car_bal.cb_repart)) as sum
from car_db
inner join car_bal on car_db.cb_id=car_bal.cb_cid
order by car_db.c_id desc

我测试了这些代码有几个错误。所以我需要一些建议:

  1. 如何在表格中显示“-”而不是空单元格。
  2. 我不需要PHP的任何帮助,只需在MySQL中完成即可。
  3. 有什么办法可以缓解或缩短我的 MySQL 代码吗?
4

2 回答 2

1
ifnull(sum(car_bal.cb_cost),'-')
于 2013-04-28T06:11:57.907 回答
0

关于什么:

ALTER TABLE tablename 
-> MODIFY colname NOT NULL DEFAULT '-';
于 2013-04-28T06:16:45.993 回答