【问题标题】:List enumeration in SQL?SQL中的列表枚举?
【发布时间】:2009-12-18 20:08:33
【问题描述】:

比如说,有 2 个表:

Person
| id | name |

LanguagesSpoken
| person_id | language_name |

有没有办法创建一个包含 2 列的视图:person_namelanguages_spoken 作为逗号分隔的列表?

我正在针对 SQLite 进行开发。

【问题讨论】:

    标签: sql sqlite string


    【解决方案1】:

    用途:

      SELECT p.name,
             GROUP_CONCAT(ls.language_name, ',')
        FROM PERSON p
        JOIN LANGUAGESSPOKEN ls ON ls.personid = p.personid
    GROUP BY p.name
    

    参考:SQLite aggregate functions

    【讨论】:

      【解决方案2】:
      select name, group_concat(language_name) as languages
      from person p inner join languagesSpoken l
      on p.id = l.person_id
      group by l.person.id
      

      【讨论】:

        【解决方案3】:

        group_concat() 是你的答案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-03
          • 1970-01-01
          • 2017-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多