如果我有这样的表设置:
<table>
<tr>
<td>ID</td>
<td>user_login</td>
<td>user_pass</td>
<td>user_nicename</td>
<td>user_email</td>
<td>user_url</td>
<td>user_registered</td>
<td>user_activation_key</td>
<td>user_status</td>
<td>display_name</td>
</tr>
<tr>
<td>1
<td>user123</td>
<td>pass123</td>
<td>Tom J.</td>
<td>email@email.com</td>
<td>2015-09-09 04:17:29</td>
<td>0</td>
<td>Tom Jones</td>
</tr>
</table>
另一个表设置如下:
<table>
<tr>
<td>umeta_id</td>
<td>user_id</td>
<td>meta_key</td>
<td>meta_value</td>
<tr>
<td>1</td>
<td>1</td>
<td>nickname</td>
<td>T Jones</td>
</tr>
<tr>
<td>2</td>
<td>1</td>
<td>first_name</td>
<td>Tom</td>
</tr>
<tr>
<td>3</td>
<td>1</td>
<td>last_name</td>
<td>Jones</td>
</tr>
<tr>
<td>4</td>
<td>1</td>
<td>description</td>
</tr><tr>
<td>5</td>
<td>1</td>
<td>rich_editing</td>
<td>true</td>
</tr>
</table>
是否有一种很好的方法来组合两个表,以便所有匹配用户的元值(user_id = ID)属于单个列。如果我尝试在表a到表b上执行JOIN,它会将所有数据拆分为单独的行。我希望所有新数据都适合单行,因此更容易访问。注意:我无法在此更改表结构。任何帮助表示赞赏。
答案 0 :(得分:0)
使用这些查询解决方案
select u.*,(select group_concat(meta_value) from user_tag where user_id = u.ID) as meta_value_user from user as u where ID = 1;