首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个SQL连接

多个SQL连接
EN

Stack Overflow用户
提问于 2020-10-21 14:59:19
回答 2查看 47关注 0票数 0

我会尽量做到最容易理解,因为我是SQL的初学者。

这就是我的问题,我有一个数据库,里面有调查问卷的答案。

每个数据库都有user.id、unique.id、date、final score。我想用一个简单的表格提取这些数据,该表格按user.id和日期对每个调查问卷的分数进行分组。

我已经尝试过了:

代码语言:javascript
运行
复制
SELECT A.user_id, SUBSTRING(A.created_at,1,10), A.SCORE, B.SCORE,
       C.SCORE, D.SCORE, E.SCORE
FROM A
LEFT JOIN B
    ON A.user_id = A.user_id AND SUBSTRING(A.created_at,1,10) = SUBSTRING(B.created_at,1,10)  
LEFT JOIN C
    ON A.user_id = C.user_id AND SUBSTRING(A.created_at,1,10) = SUBSTRING(C.created_at,1,10)
LEFT JOIN D
    ON A.user_id = D.user_id AND SUBSTRING(A.created_at,1,10) = SUBSTRING(D.created_at,1,10)
LEFT JOIN E
    ON A.user_id = E.user_id AND SUBSTRING(A.created_at,1,10) = SUBSTRING(E.created_at,1,10)

这几乎是成功的,但我发现如果有人没有参与A调查问卷,那么我就没有任何关于它的东西。

我希望,我已经说得足够清楚了。

谢谢大家

EN

回答 2

Stack Overflow用户

发布于 2020-10-21 15:08:01

您必须使用用户表(如果有)来管理查询,如下所示:

代码语言:javascript
运行
复制
SELECT U.user_id, SUBSTRING(A.created_at,1,10), A.SCORE, B.SCORE,
   C.SCORE, D.SCORE, E.SCORE
FROM USER U
LEFT JOIN A
    ON U.user_id = A.user_id AND SUBSTRING(U.created_at,1,10) = SUBSTRING(A.created_at,1,10)  
LEFT JOIN B
    ON U.user_id = B.user_id AND SUBSTRING(U.created_at,1,10) = SUBSTRING(B.created_at,1,10)  
LEFT JOIN C
    ON U.user_id = C.user_id AND SUBSTRING(U.created_at,1,10) = SUBSTRING(C.created_at,1,10)
LEFT JOIN D
    ON U.user_id = D.user_id AND SUBSTRING(U.created_at,1,10) = SUBSTRING(D.created_at,1,10)
LEFT JOIN E
    ON U.user_id = E.user_id AND SUBSTRING(U.created_at,1,10) = SUBSTRING(E.created_at,1,10)
票数 1
EN

Stack Overflow用户

发布于 2020-10-21 15:12:28

我建议做两件事,这取决于您修改表的限制程度。

  1. 只使用一个表。添加一个列testType或类似下面的内容。您可以使用外键,并且只使用其中的键。这将使记录集更小。

然后将所有结果和匹配的关键字放在一个表中。

  1. 使用UNION如果这些表都是相同的,并且只有不同的条目,则查询此联合。

在您的情况下不需要JOIN,最好调整结构。否则,您可以尝试使用FULL JOIN来保存所有数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64458218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档