【问题标题】:Merge row values from the same value key in SQL [closed]在SQL中合并来自相同值键的行值[关闭]
【发布时间】:2020-08-26 05:01:44
【问题描述】:

请教一下,为什么会出现这个错误?我试试

select user_idea.idea_id,user_idea.title, idea_events.events, idea_categories.category_name AS category
from user_idea
LEFT join idea_events
on user_idea.idea_id=idea_events.idea_id
LEFT JOIN idea_categories
ON user_idea.idea_categories=idea_categories.category_id;

结果是这样的sqliteonline:

出于同样的想法,我想将 Dewasa 和 Anak 活动结合起来。对于类别,为什么值 1 的结果为 NULL;2 未在应该是 Mudah 的idea_category 表中读取;色当。 对于表:

预期输出:

【问题讨论】:

  • 请提供您用于订购和显示结果的代码

标签: sql sqlite


【解决方案1】:
select user_idea.idea_id,user_idea.title, 
(SELECT GROUP_CONCAT(events,';') FROM idea_events  Where user_idea.idea_id=idea_events.idea_id) as events, 
(SELECT GROUP_CONCAT(category_name ,';') FROM idea_categories  Where user_idea.idea_categories=idea_categories.category_id) AS category
from user_idea;

【讨论】:

  • 是的,这是工作代码,但我在数据中遇到问题,其中我的 user_idea 列 idea_categories 中的值为 1;2 和 2;3 的数据给我输出 NULL。我想输出我的预期输出。
【解决方案2】:

user_idea 中的 1:2 idea_categories 被认为与加入无关,因此加入时无法在此处找到其他表中的数据,因此数据为空

提醒 在加入之前,只需分析数据异常,例如没有通用数据和格式正确

【讨论】:

  • 以及如何为同一个索引键组合事件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
相关资源
最近更新 更多