web-dev-qa-db-ja.com

MySQL、2つの列を連結する

MySQLテーブルには、SUBJECTYEARの2つの列があります。

SUBJECTとYEARからの連結データを保持する英数字の一意の番号を生成したい。

これどうやってするの? +のような単純な演算子を使用できますか?

75

次のように CONCAT 関数を使用できます。

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

更新:

その結果を得るには、これを試すことができます:

SET @rn := 0;

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

これには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

7
Shafiqul Islam

PHPでは、テーブルの列を連結する2つのオプションがあります。

クエリを使用した最初のオプション

クエリでは、2つの列を連結するために使用されるCONCATキーワード

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

記号(。)を使用する2番目のオプション

データベーステーブルからデータを取得した後、値を変数に割り当て、(。)Symbolを使用して値を連結します

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

アンダースコア(_)の代わりに、スペース、コンマ、文字、数字などを使用します。

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