MySQL,连接两列

时间:2012-04-27 07:12:34

标签: php mysql sql

MySQL表格中有两列:SUBJECTYEAR

我想生成一个字母数字唯一编号,用于保存SUBJECT和YEAR的连接数据。

我该怎么做?是否可以使用像+这样的简单运算符?

6 个答案:

答案 0 :(得分:162)

您可以使用CONCAT这样的功能:

SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`

更新

要获得该结果,您可以尝试:

SET @rn := 0;

SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`

答案 1 :(得分:5)

在php中,我们有两个连接表列的选项。

使用查询的第一个选项

在查询中, CONCAT 关键字用于连接两列

SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;

使用符号(。)

的第二个选项

从数据库表中获取数据后,将值分配给变量,然后使用(。)符号并连接值

$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;

我们将使用空格,逗号,字母,数字等来代替下划线(_)

答案 2 :(得分:5)

你可以使用内置于CONCAT()的php。

SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;

将字段名称更改为您的要求

然后结果是

enter image description here

如果你想使用其他字段(

)连接相同的字段
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 

然后输出 enter image description here

答案 3 :(得分:0)

$crud->set_relation('id','students','{first_name} {last_name}');
$crud->display_as('student_id','Students Name');

答案 4 :(得分:0)

在查询中,CONCAT_WS() 函数。

此函数不仅添加多个字符串值,而且使它们成为单个字符串值。它还允许您定义分隔符(“”、“”、“、”-“、”_“等)。

语法 –

CONCAT_WS( SEPERATOR, column1, column2, ... )

示例

SELECT 
topic, 
CONCAT_WS( " ", subject, year ) AS subject_year 
FROM table

答案 5 :(得分:-9)

首先在表newcol_name中创建一个列,如下所示 - 试试这个 - update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;