【问题标题】:Split column and display in a new column in sql拆分列并在sql中的新列中显示
【发布时间】:2021-12-17 22:23:28
【问题描述】:

我有一个如下表(参考表 1),它可以有多个 id。我想拆分 Reviewer id 并从表 2 中获取名字和姓氏,并使用 sql 显示在表 1 的第 2 列和第 3 列中。

表 1

| Reviewer id/s| Name 1 |Name 2|
| -------------| -------|------|
| 123; 124     | row    | row  |
| 126; 156     | row    | row  |

表 2

| Reviewer id  | First Name |Last name |
| -------------| -----------|----------|
| 123          | Apple      | A        |
| 124          | Banana     | B        |
| 125          | Rose       | Rose     |
| 156          | Orange     | I        |
| 157          | Purple     | J        |

【问题讨论】:

  • 您的数据库设计未规范化。我强烈建议您先对其进行规范化,这样查询会变得更容易编写。

标签: mysql sql stored-procedures split


【解决方案1】:

试试这个

select value,first_name,last_name from Tabel1 cross apply string_split(Reviewer_id,';') inner join Table2 on Tabel2.Reviewer_id=value

在这里测试 SQL DEMO

【讨论】:

  • 谢谢@Osama Gadour。但是如何在一行中显示呢?
  • 按照你的要求,每个id都会显示在一行中,试试吧
  • |审稿人 ID/s |姓名 1 |姓名 2 | | ------------- | ------------------ |-------------------- | | 123; 124 |苹果 A (123 ) |香蕉 B (124) |
  • 查看我修改后的答案
  • 好的,现在我明白你的问题了,我会更新我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
相关资源
最近更新 更多