私は、mysql でテーブル リンク プロセスが必要な車の予算プロジェクトを実行しています。表示が制限されているため、いくつかのテーブルから必要なすべての情報を収集して要約テーブルに表示する必要があります。
一部の情報が空白になっている可能性があり、空のセルの代わりに「-」を表示する必要があります。
ここに私のテーブルがあります:
car_db
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
*while 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
これらのコードをいくつかのエラーでテストしました。だから私はいくつかの提案が必要です:
- 表の空のセルの代わりに「-」を表示する方法。
- PHP の助けは必要ありません。MySQL で完了するだけです。
- MySQL コードを緩和または短縮する方法はありますか?