Mysql,连接具有相同id的列

标签 mysql join

这是我的 table 。我想要一个查询将 table1.scoretable2.goalexam_id 连接起来。这可能吗?

table1
exam_id   score

 1          4
 1          5
 1          9
 1          10
 1          6
 1          9
 1          2
 1          10

当表 1 和表 2 结合时,它们完全吻合

 table2
 exam_id   goal
 1          1.1
 1          1.2
 1          1.3  
 1          1.4
 1          1.5
 1          1.6
 1          1.7
 1          1.8

desired output

exam_id   score     goal

 1          4        1.1
 1          5        1.2
 1          9        1.3 
 1          10       1.4 
 1          6        1.5       
 1          9        1.6 
 1          2        1.7 
 1          10       1.8  

我使用内部联接,但它会产生很多行,并且它们并不完全适合彼此,就像目标 1.8 必须有分数 10 一样。

最佳答案

没有。

在其他问题中,阻止这种情况发生的主要问题是,从没有 order by 子句的查询返回的行的顺序是不确定的,并且显然没有办法编写一个 order by 子句来维护您所呈现的顺序。

如果您可以可靠地对行进行排序,它仍然是一个丑陋的查询,因为 mysql 本身不支持行号,您必须加入行号。

关于Mysql,连接具有相同id的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28207950/

相关文章:

mysql - Cakephp 3 findAuth 连接表返回数组

python - 在多列 Pandas 上加入 2 个数据框

php - 如何使用联接根据在另一个表中找到的行从一个表中获取 mysql 行?

mysql - groupBy ('created_at' ) 在 laravel Eloquent 中使用子查询

MySQL表文件在添加索引时变大,但在删除索引时不会变小

mysql - 将 MYSQL 转换为 Codeigniter

mysql - 一个查询上有两个单独的联接;对发往和来自一位用户的所有消息进行计数

R data.table 对函数参数执行连接

javascript - 拆分数组中的元素并添加换行符,然后加入 - Javascript

java - Java 应用程序中 SQLBase 的使用