mysql将两行连接在同一行中

sauutmhj  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(590)

我试着把两张table连在一条线上。我试试这个

  1. SELECT p.*
  2. , t.joursPrevus joursInge
  3. FROM projet p
  4. JOIN temps t
  5. ON t.projet_id = p.idProjet
  6. WHERE t.role_id = 1
  7. UNION
  8. SELECT p.*
  9. , t.joursPrevus joursTech
  10. FROM projet p
  11. JOIN temps t
  12. ON t.projet_id = p.idProjet
  13. WHERE t.role_id = 2

但是我得到了这个表,但是我想合并这个表:表1和表2在同一行上有相同的idprojet,role\u id:1是joursinge,role\u id:2是jourstech
我试着吵架,比如:
Idrojet-nom-client-achatsprevus-achatsrestants-date处子秀-datefin-fini-joursprevus(角色号:1)-joursprevus(角色号:2)
如果有什么解决办法来做我想做的事,因为我卡住了!

a11xaf1n

a11xaf1n1#

可能最简单的方法就是 join 两次:

  1. SELECT p.*, t1.joursPrevus AS joursInge, t2.joursPrevus AS joursTech
  2. FROM projet p
  3. INNER JOIN temps t1 ON t1.projet_id = p.idProjet AND t1.role_id = 1
  4. INNER JOIN temps t2 ON t2.projet_id = p.idProjet AND t2.role_id = 2

这假设表中没有缺少角色 temps 对于每个项目-否则,您可以使用 left join 相反。

相关问题