刚使用群组concat with group by如下 - 您的主表 -
| id | sub1 | sub2 | sub3 |
| 1 | kk nagar | Alwartirunagar | | | 1 | Valasaravakkam | Nandambakkam | Ramapuram | | 1 | Porur | Meenambakkam | Ashok Nagar | | 1 |安娜纳加| Kodambakkam | Nungambakkam | | 2 | West Mambalam | Virugambakkam | T Nagar | | 2 | KK Nagar | | |
现在当你运行一个查询 - 从t1 group by id选择id,group_concat(sub1,'|',sub2) 它会给你如下数据
| id | group_concat(sub1,',',sub2,',',sub3)| | 1 | kk nagar,Alwartirunagar,Valasaravakkam,Nandambakkam,Ramapuram,Porur,Meenambakkam,Ashok Nagar,Anna Nagar,Kodambakkam,Nungambakkam | | 2 | West Mambalam,Virugambakkam,T Nagar,KK Nagar ,, |
现在只需通过以下查询插入另一个表中的数据 从t1 group by id插入到t2 select select id,group_concat(sub1,',',sub2,',',sub3);
现在你会得到像下面t2的数据
| id | grouped_sub |
| 1 | kk nagar,Alwartirunagar,Valasaravakkam,Nandambakkam,Ramapuram,Porur,Meenambakkam,Ashok Nagar,Anna Nagar,Kodambakkam,Nungambakkam |
| 2 | West Mambalam,Virugambakkam,T Nagar,KK Nagar ,,
希望这会对你有帮助。
注意: - 由于问题要求不同 - 查询 - 插入到t2选择* from(从t1选择id,sub1作为主题union select id,sub2作为subject从t1 union select id,sub3作为来自t1的主题) temp where subject!=''按ID排序;
| id | grouped_sub | + ------ + ---------------- + | 1 | Nungambakkam | | 1 | Alwartirunagar | | 1 | Ramapuram | | 1 | Porur | | 1 | Kodambakkam | | 1 | kk nagar | | 1 | Nandambakkam | | 1 | Ashok Nagar | | 1 |安娜纳加| | 1 | Valasaravakkam | | 1 | Meenambakkam | | 2 | West Mambalam | | 2 | T Nagar | | 2 | KK Nagar | | 2 | Virugambakkam |
'group_concat'? – Wanderer
你可以在这个更具体吗? –
正常化这些数据或将成为一场噩梦。请参阅[Junction Tables](http:// stackoverflow。com/a/32620163) – Drew