MySQL。属性的水平显示

MySQL。属性的水平显示,mysql,sql,Mysql,Sql,是否可以水平显示该属性 例如,我有这样的表格: 简单 SELECT user.name, project.name FROM user LEFT JOIN project ON user.project_id = project.id; 给我 User #1,Project #1 User #2,Project #1 User #3,Project #2 有可能收到这样的结果吗?在一列中列出项目名称及其所有相关用户 Project #1 User #1 User #2 Project

是否可以水平显示该属性

例如,我有这样的表格:

简单

SELECT user.name, project.name
FROM user
  LEFT JOIN project ON user.project_id = project.id;
给我

User #1,Project #1
User #2,Project #1
User #3,Project #2
有可能收到这样的结果吗?在一列中列出项目名称及其所有相关用户

Project #1
User #1
User #2
Project #2
User #3

我认为您可以使用
UNION
查询和两个内联列来对输出进行排序,从而生成所需的输出

SELECT t.name
FROM
(
    SELECT DISTINCT project.name AS name,
                    project.id AS id,
                    0 AS idx
    FROM user
    LEFT JOIN project
        ON user.project_id = project.id
    UNION ALL
    SELECT user.name,
           project.id,
           1
    FROM user
    LEFT JOIN project
        ON user.project_id = project.id
) t
ORDER BY t.id,
         t.idx,
         t.name

在表示层修复它。@jarlh我理解,但这几乎是不可能的。我正在处理遗留代码。这样的解决方法可行吗?它给了我两次“Project#1”。@D.R。我在
联合
子查询的前半部分使用了
选择DISTINCT
,现在它似乎正在工作。