【问题标题】:Use data from comma separated row to perform a join使用逗号分隔行中的数据执行连接
【发布时间】:2020-07-15 00:57:25
【问题描述】:

我得到了一个项目,其中多个类别存储在逗号分隔列表中的一行中(例如 1,2,3)。然后我有一个类别表,其中包含如下所示的类别:

ID  ShowcaseCategory        DisplayOrder 
1   Member's Work           0 
2   Eastern Resorts         1 
3   WesternResorts          2 
    
4   Products                4 
5   Nordic Skiing           3

我希望能够根据逗号分隔列表中的多个值从表中提取 ShowcaseCategory(从上方)。例如,如果类别包含 1,5,我将获得 Member's Work 和 Nordic Skiing。

我认为我需要将它放入一个数组中,可能会对其进行分解并能够对 ID 进行一些连接以获取(文字)ShowcaseCategory。或者,有没有更简单的方法来做到这一点?

最后我想动态构建一个类别复选框列表,以便可以更新它们。

感谢所有帮助

【问题讨论】:

标签: php mysql csv where-clause


【解决方案1】:

一个选项使用find_in_set()。假设参数 :categories_list 包含类别 ID 的 csv 列表,你会去:

select ShowcaseCategory
from mytable
where find_in_set(id, :categories_list)

【讨论】:

  • 抱歉,延迟返回此线程。我知道如何使用 find_in_set。我想要做的是从行中获取逗号分隔的列表,然后能够使用每个值之一来加入文字。例如,如果类别包含 1,5,我将获得 Member's Work 和 Nordic Skiing。提前致谢。
猜你喜欢
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
相关资源
最近更新 更多