选择两列相等且一列不同并且单行中不同结果的串联的结果

时间:2019-01-05 07:14:41

标签: mysql sql

我必须从两个表中进行选择。 这是一个将两个表链接在一起的表。 但是我希望第三个表具有的值对于连续连接的所有表都不同,而不是分别显示每个表。

表1人

Id  Name  Last_name  
1    pop       viktor
2    marian   emil

表2职业

Id      oc_name
1        driver
2        manager
3        officer

表3 Assign_val

Id       id_person    id_oc          last_login
1         1               1          12/12/18
2         1               1          13/12/18
3         1               1          14/12/18

我的代码

$selet = mysqli_query($con, SELECT * FROM assign_val a INNER JOIN person p ON p.Id = a.id_person INNER JOIN ocupation o ON o.Id = a.id_oc);
while($row = mysqli_fetch_array($select)){

}

此查询生成三个单独的行,所以不好! 我只需要生成一个叉并连接值即可:

12.12.18. "-." 13/12/18. "-". 14/12/18

单行显示。 非常感谢你! 新年快乐!

1 个答案:

答案 0 :(得分:2)

我不确定我是否完全了解您想要什么,但我希望这就是您想要的。我插入了您提供的表并运行了该查询,结果如下。仅供参考,GROUP_CONCAT方法的默认分隔符是逗号。

SELECT GROUP_CONCAT(last_login SEPARATOR '-')
FROM assign_val a INNER JOIN
     person p
     ON p.Id = a.id_person INNER JOIN
     occuptation o
     ON o.Id = a.id_oc

结果:

2012-12-18-2013-12-18-2014-12-18