在SELECTED字段名称mysql中添加一个数字

时间:2014-07-11 04:28:27

标签: mysql

是否有一种简单的方法可以将数字“2”添加到MySQL SELECT STATEMENT。我一直收到错误。

SELECT field_name AS '2' + field_name from table_data as tbl
left join another_table as ic on ic.id = tbl.provider " .
where pid = '3' and type = "secondary" order by date DESC limit 1

5 个答案:

答案 0 :(得分:0)

试试这个:

SELECT field_name + 2 
FROM table_data AS tbl
LEFT JOIN another_table AS ic ON ic.id = tbl.provider 
WHERE pid = '3' AND TYPE = "secondary" 
ORDER BY DATE DESC LIMIT 1

答案 1 :(得分:0)

试试这很简单

SELECT `field_name`+2
FROM table_data AS tbl
LEFT JOIN another_table AS ic ON ic.id = tbl.provider " . 
WHERE pid = '3'
  AND TYPE = "secondary"
ORDER BY date DESC LIMIT 1

答案 2 :(得分:0)

试试这个: -

SELECT field_name + 2 FROM table_data AS tbl
LEFT OUTER JOIN another_table AS ic ON ic.id = tbl.provider 
WHERE pid = '3' AND type = "secondary" 
ORDER BY date DESC LIMIT 1;

MySQL AS keyword用于指定在引用a table or a column (field) in a table时要使用的备用名称(或别名)。 Refer here for more details

答案 3 :(得分:0)

目前尚不清楚你想要实现的目标。

AS关键字标识分配给结果集中表达式的列名。这必须是有效的标识符,不能是表达式。

如果您想要将文字'2'添加到每行的field_name列中存储的值,您可以执行以下操作:

SELECT CONCAT('2',field_name) AS `2field_name` 

但同样,目前还不清楚你想要实现的目标。

结果集的元数据(包括分配给结果集中列的标识符(名称))在语句准备时设置。结果集中列的名称是每行的SAME。这就是为什么它必须是一个标识符;它不能在行之间变化。 (就像表中的列名不会在行之间更改;它是在创建表时指定的。结果集中的列是在指定结果集时指定的;存储/返回的值是table / resultset不影响列名。)

答案 4 :(得分:0)

谢谢大家!我最终做的是不尝试重命名SELECT DB部分的字段名称。我让查询运行,然后我做了一个foreach

 foreach ($result as $k => $v) {
    unset ($result[$k]);

    $new_key = "2" . $k;

    $result[$new_key] = $v;
   }