【问题标题】:Join tables having multiple values in a cell连接单元格中具有多个值的表
【发布时间】:2021-09-15 14:04:31
【问题描述】:

这个问题是在一次采访中问我的。 我有两张表,如下所示

表 1: [表格1]

表2: [表2]

我想要下表作为我的输出。请告诉我可用于连接两个表并获得如下输出的 SQL 查询。

预期输出: [输出]

抱歉添加图片,因为我不知道如何添加表格

【问题讨论】:

  • 你还需要标记你的数据库
  • @eshirvana 这是提供的唯一信息。问题是'如果你有上面给出的 2 个表并且想要上述的输出,那么 sql 查询将是什么''
  • 问题格式错误:起初,B 与 Mango/Apple 有关,但后来它神奇地更改为 Mango/Orange...
  • 您将表格添加为文本,就像您输入问题一样,使用综合 formatting guide 寻求帮助。您需要标记您的特定数据库,因为解决方案会因特定数据库支持的语法而异。
  • 答案应该是:永远不要将数据存储为逗号分隔的项目。只会给你带来很多麻烦。

标签: sql join


【解决方案1】:

应该适用于大多数数据库的一种解决方案只是使用like 来匹配字符串。

另请注意,B 的示例数据不正确 - 橙色 不会出现在结果中。

select t1.name, t2.fruit, t2.value
from t1 join t2 on t1.fruits like Concat('%',t2.fruit,'%')

【讨论】:

  • 谢谢。您能告诉我如何在 table1 中给出的表格中插入逗号分隔值吗?
  • 我不确定你的意思,上面回答了如何从两个源表中获取输出的问题。我不知道你是如何得出逗号分隔值的,那是你的源数据,正如已经指出的那样,不是一个好主意,列中的数据应该始终是 atomic我>
  • 谢谢。我从给定的查询中得到了预期的输出。
猜你喜欢
  • 1970-01-01
  • 2013-05-14
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
相关资源
最近更新 更多