数据库中有两个表,一个表记录了产品的属性值,另一个表记录产品属性名对应的中文,如table_cp:
field:  chanpinming  chanpinxinghao   chanpinjiage
value:  华硕主板     TYURI445         555表cp_chinese
field:  fieldname      fieldchinese
value:  chanpinming    产品名
        chanpinxinghao 产品型号
        chanpinjiage   产品价格有什么方法直接输出为:产品名:华硕主板,产品型号:TYUI445,产品价格:555
就是将table_cp中的field变为cp_chinese中的fieldchinese,直接在数据库可以操作么?
怎么操作呢?

解决方案 »

  1.   


    mysql> select * from cp;
    +-------------+----------------+--------------+
    | chanpinming | chanpinxinghao | chanpinjiage |
    +-------------+----------------+--------------+
    | 华硕主板    | TYURI445       |          555 |
    +-------------+----------------+--------------+
    1 row in set (0.00 sec)mysql> select * from cpp;
    +----------------+--------------+
    | name           | fieldchiness |
    +----------------+--------------+
    | chanpinming    | 产品名       |
    | chanpinxinghao | 产品型号     |
    | chanpinjiage   | 产品价格     |
    +----------------+--------------+
    3 rows in set (0.00 sec)
    mysql> select
        -> (select concat(cc1.fieldchiness,': ',c1.chanpinming)
        -> from cpp cc1,cp c1
        -> where cc1.name='chanpinming') chanpin,
        -> (select concat(cc2.fieldchiness,': ',c2.chanpinxinghao)
        -> from cpp cc2,cp c2
        -> where cc2.name='chanpinxinghao') xinghao,
        -> (select concat(cc3.fieldchiness,': ',c3.chanpinjiage)
        -> from cpp cc3,cp c3
        -> where cc3.name='chanpinjiage') jiage;
    +------------------+--------------------+---------------+
    | chanpin          | xinghao            | jiage         |
    +------------------+--------------------+---------------+
    | 产品名: 华硕主板 | 产品型号: TYURI445 | 产品价格: 555 |
    +------------------+--------------------+---------------+
      

  2.   


    select b.fieldchinese,a.value from table_cp as a,cp_chinese  as b where a.field=b.fieldname