当前位置: 首页 > 知识库问答 >
问题:

连接三个mysql表/两个select语句

董翰池
2023-03-14

我有以下表格:

http://www.gulllakeschools.net/mysqltables.pdf

我需要以以下格式提取数据:学生姓、学生名、日期事件、日期事件(学生登录的每一天都有一个日期事件)

组件com_users是我需要从组件列中提取的组件。

我是mysql的菜鸟,不知道如何一次完成。我有这些单独运行良好的精选语句:

SELECT civicrm_contact.last_name, civicrm_contact.first_name, civicrm_uf_match.uf_id
FROM civicrm_contact, civicrm_uf_match
WHERE civicrm_contact.id = civicrm_uf_match.contact_id

SELECT user_id, component, group_concat( date_event )
FROM jos_content_statistics
WHERE component = "com_users"
GROUP BY user_id

但我不能为我的生活让他们加入。我尝试过加入,加入,完全加入,合并,并且都会产生错误。我已经尝试了在 where 语句之前和之后的连接。联合生成排序规则错误。我没有尝试过内部连接,因为我无法弄清楚。

共有3个答案

左丘成天
2023-03-14

试试这个:

SELECT cc.last_name, cc.first_name, cm.uf_id, jc.component, jc.dateevent 
FROM civicrm_contact cc
INNER JOIN civicrm_uf_match cm ON cc.civicrm_contact.id = cm.contact_id
INNER JOIN
(
    SELECT user_id, component, group_concat( date_event ) dateevent
    FROM jos_content_statistics
    WHERE component = "com_users"
    GROUP BY user_id, component
) jc ON cm.uf_id = jc.user_id
高晋
2023-03-14
SELECT 
  civicrm_contact.last_name, 
  civicrm_contact.first_name, 
  civicrm_uf_match.uf_id,
  (select group_concat(jos_content_statistics.date_event) 
   from jos_content_statistics 
   where user_id = civicrm_uf_match.uf_id 
     and civicrm_uf_match.contact_id = civicrm_contact.id 
     and component = "com_users" 
   GROUP BY user_id) as date_events
FROM civicrm_contact join civicrm_uf_match
on civicrm_contact.id = civicrm_uf_match.contact_id
where civicrm_contact.contact_sub_type='student' 
吴修洁
2023-03-14
SELECT C.last_name, C.first_name, S.date_event
FROM civicrm_contact as C
INNER JOIN civicrm_uf_match as M on M.contact_id = C.id 
INNER JOIN jos_content_statistics as S on M.uf_id = S.user_id
 类似资料:
  • 如果我有三个表: > 列出所有未被查看的正确方法是什么?此查询是否正确? 按< code>user_id列出所有< code >帖子及其“查看状态”如何? 您是否也可以推荐一个很棒的(用户友好的、非极客的)资源来提高我对LEFT JOIN、CROSS JOIN和(正常连接?从帖子、视图中选择*)的理解? 谢谢大家!

  • 问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如

  • 我试图连接两个表,但似乎有一个问题,我寻找的输出是有主题的行量。

  • 到目前为止,我已经写了一份精选声明,获取球队的名称和他们在主场比赛中的平均得分,以及他们输给另一个球队的平均得分。 当他们客场时,我还有另一个,我选择了客队,以及他们客场时的平均得分和他们的平均失球数。 我如何从选择查询中连接这两个表,以便得到一个带有球队名称、主场平均得分、主场平均失球、客场平均失球和客场平均得分的表? 以下是我的代码: 任何帮助都将不胜感激。谢谢!

  • 问题内容: 我有三个表名为 现在要显示学生姓名和他所学习的课程名称, 我建立以下查询 但是它不会返回所需的结果… 如果我想找到谁是其他经理,那么归一化表格将是什么: 并希望得到以下结果: 问题答案: 只需使用:

  • 如何创建将不同列与不同表合并的视图?例如,我有三个表:用户、物品和礼物(在本例中,这是一个用户可以向另一个用户赠送礼物的系统) < code>users表包含有关用户的信息,< code>items表包含有关项目的信息,< code>gifts表显示哪个用户向哪个用户发送了什么礼物。 我想要的是创建如下视图: