我搜索谷歌,一切都是使用连接解释但我不需要第一个表的重复数据,我想从第一个表单行。
考虑表a有两列id和名称
id | name
1 | jhon
2 | rock
和表b有两个列id,它是外键引用表a的id和place
id | nickname
1 | steve
1 | smith
2 | kiran
我想把它作为
id | name | nickname
1 | jhon | steve
| smith
答案 0 :(得分:1)
您可以使用简单的内部SELECT ta.id, ta.name, tb.nicname
FROM tablea ta JOIN tableb tb ON ta.id = tb.id;
来执行此操作,例如:
GROUP_CONCAT
这将导致一个用户的多个记录,只能获得一个记录,您可以使用SELECT ta.id, ta.name, GROUP_CONCAT(tb.nicname)
FROM tablea ta JOIN tableb tb ON ta.id = tb.id
GROUP BY ta.id, ta.name;
,例如:
IF
<强>更新强>
要获得预期的输出,您可以在查询中定义变量并使用SELECT IF(@previous = ta.id, '', ta.id) as id, IF(@previous = ta.id, '', ta.name) as name,
tb.nickname, @previous := ta.id
FROM table1 ta JOIN table2 tb ON ta.id = tb.id,
(SELECT @previous := '') a ;
返回值,例如:
<div *ngIf="currentStatus !== 'open' || currentStatus !== 'reopen' ">
<p padding text-center class="text-notification">{{message}}</p>
</div>
这将返回一个额外的列,但您可以在解析结果时忽略它。