是否有一种简单的方法可以将数字“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
答案 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;
}