2016-12-20 6 views
0

異なるIDを持つ複数のフィールドに1つだけ参加するにはどうすればよいですか? 私はこのMySQLのテーブルを持っている:PHPで異なるIDを持つテーブルフィールドを結合する

-------------------------------- 
| *UDH*  |  *Text*  | 
-------------------------------- 
| 050003B90301 | Hi my name is A| 
-------------------------------- 
| 050003B90302 | rmin and I wan | 
-------------------------------- 
| 050003B90303 | t be your frien | 
-------------------------------- 

UDHフィールドが異なっているが、私はこのようになり、結果がなければならない他のテーブルにコピーし、テキストフィールドに参加する必要があります。

______________________________________________________________ 
| UDH   |  Text          | 
-------------------------------------------------------------- 
| 1   | Hi my name is Armin and I want be your frien | 
--------------------------------------------------------------- 

あなたは知っていますかこのようなことをするPHP文または他のメソッド?

答えて

0

GROUP_CONCAT()を使用してください。このように:

select '1' as UDH, group_concat(`Text` separator '') as `Text` from myTable; 

あなたはUDH列で注文する必要がある場合は、このようなgroup_concat()コール内でそれを行うことができます。

select '1' as UDH, group_concat(`Text` order by UDH separator '') as `Text` from myTable; 

私はちょうどに基づいて、次のテストコードでこのクエリを検証あなたの例:

mysql> create table myTable (UDH varchar(32), `Text` text) engine=innodb; 
Query OK, 0 rows affected (0.05 sec) 

mysql> insert into myTable (UDH, `Text`) values ('050003B90301', 'Hi my name is A'), ('050003B90302', 'rmin and I wan'), ('050003B90303', 't be your frien'); 
Query OK, 3 rows affected (0.00 sec) 
Records: 3 Duplicates: 0 Warnings: 0 

mysql> select * from myTable; 
+--------------+-----------------+ 
| UDH   | Text   | 
+--------------+-----------------+ 
| 050003B90301 | Hi my name is A | 
| 050003B90302 | rmin and I wan | 
| 050003B90303 | t be your frien | 
+--------------+-----------------+ 
3 rows in set (0.00 sec) 

mysql> select '1' as UDH, group_concat(`Text` order by UDH separator '') as `Text` from myTable; 
+-----+----------------------------------------------+ 
| UDH | Text           | 
+-----+----------------------------------------------+ 
| 1 | Hi my name is Armin and I want be your frien | 
+-----+----------------------------------------------+ 
1 row in set (0.01 sec) 
+0

あなたはORDER BY引数がありません。 – Strawberry

+0

良い点。私は私の答えを更新しました。 – Asaph

+0

多くのおかげで、この作品は、今、どのように2つまたは3つのフィールドに制限する? – Synapsido

関連する問題