mysql—选择两列相等而一列不同的结果,并将不同结果串联在一行中

qxsslcnc  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(394)

我得从两张table中选一张。这是一张把两张table连在一起的table。但是我希望第三个表的值对于所有表来说都是不同的,以便连接成一行,而不是分别显示每个表。
表1人员

Id  Name  Last_name  
1    pop       viktor
2    marian   emil

表2眼科

Id      oc_name
1        driver
2        manager
3        officer

表3分配值

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

在一行中显示。非常感谢你!新年快乐!

efzxgjgh

efzxgjgh1#

我不确定我是否完全理解你想要什么,但我希望这就是你想要的。我插入了您提供的表并运行了这个查询,结果如下。仅供参考,默认的分隔符 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

相关问题