社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL-GROUP_CONCAT,具有来自不同表的两列

IlludiumPu36 • 5 年前 • 1647 次点击  

我要将当前组CONCAT中不同表中的两列连接起来:

SELECT MAX(unit.unit_pk) AS unit_pk,
       GROUP_CONCAT(unit_outcome.unit_outcome SEPARATOR '|') unit_outcomes,
       MAX(program_outcome.program_outcome) program_outcome,
       GROUP_CONCAT(unit_outcome.unit_outcome_pk) unit_outcome_pks, 
       program_outcome.program_outcome_pk,
       program_outcome.program_outcome
FROM unit
INNER JOIN unit_unit_outcome_lookup
    ON unit_unit_outcome_lookup.unit_fk = unit.unit_pk
INNER JOIN unit_outcome
    ON unit_outcome.unit_outcome_pk = unit_unit_outcome_lookup.unit_outcome_fk
INNER JOIN program_outcome_unit_outcome_lookup
    ON program_outcome_unit_outcome_lookup.unit_outcome_fk = unit_outcome.unit_outcome_pk
INNER JOIN program_outcome
    ON program_outcome.program_outcome_pk = program_outcome_unit_outcome_lookup.program_outcome_fk
GROUP BY program_outcome_pk ORDER BY program_outcome.program_outcome ASC

以便

GROUP_CONCAT(unit_outcome.unit_outcome SEPARATOR '|') unit_outcomes

unit.unit_code unit_outcome.unit_outcome 在里面 GROUP_CONCAT

我要找的结果是一个来自组CONCAT的字符串,比如“unit-code:unit-outcome”

db fiddle

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56457
 
1647 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Akina
Reply   •   1 楼
Akina    5 年前
GROUP_CONCAT(CONCAT(unit.unit_code, '-', unit_outcome.unit_outcome) SEPARATOR '|')

您可以在CONCAT()中使用任何其他分隔符,而不是 '-'

也可以使用CONCAT_WS()而不是CONCAT()—特别是在一个源记录中必须连接两个以上的字段时。