Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 连接表中的列并合并具有相同id的行_Sql_Oracle - Fatal编程技术网

Sql 连接表中的列并合并具有相同id的行

Sql 连接表中的列并合并具有相同id的行,sql,oracle,Sql,Oracle,我正在处理一个SQL查询,我完全沉浸在连接中。希望您能够提供帮助:) 我的问题是,单独表中的行没有合并到一行中,因为它们都具有相同的id。联接长期以来一直让我感到困惑,因此非常感谢您的帮助 我有以下表格: Students id StudentCredits sum_credits StudentMandatoryCredits branch_credits program_credits 我正在尝试创建一个查询,该查询将为我提供如下行: id - sum_credits

我正在处理一个SQL查询,我完全沉浸在连接中。希望您能够提供帮助:)

我的问题是,单独表中的行没有合并到一行中,因为它们都具有相同的id。联接长期以来一直让我感到困惑,因此非常感谢您的帮助

我有以下表格:

Students
id

StudentCredits
sum_credits

StudentMandatoryCredits
branch_credits
program_credits
我正在尝试创建一个查询,该查询将为我提供如下行:

id         - sum_credits - branch_credits - program_credits
another_id - sum_credits - branch_credits - program_credits
a_third_id - sum_credits - branch_credits - program_credits
这是我能想到的最好的办法:

id - sum_credits - branch_credits -     [empty]
id - sum_credits -     [empty]    - program_credits
这是我的SQL语句:

SELECT S.id, SC.sum_credits, SMC.branch_credits, SMC.program_credits
FROM Students S
LEFT JOIN StudentCredits SC ON S.id = SC.id
LEFT JOIN StudentMandatoryCredits SMC ON S.id = SMC.id
ORDER BY id
尝试使用:

SELECT S.id, SUM(SC.sum_credits), SUM(SMC.branch_credits), SUM(SMC.program_credits)
FROM Students S
LEFT JOIN StudentCredits SC ON S.id = SC.id
LEFT JOIN StudentMandatoryCredits SMC ON S.id = SMC.id
GROUP BY S.id
ORDER BY S.id
尝试使用:

SELECT S.id, SUM(SC.sum_credits), SUM(SMC.branch_credits), SUM(SMC.program_credits)
FROM Students S
LEFT JOIN StudentCredits SC ON S.id = SC.id
LEFT JOIN StudentMandatoryCredits SMC ON S.id = SMC.id
GROUP BY S.id
ORDER BY S.id

很不错的!我试图使用GROUP BY S.id,但在其他属性上出错。从未想过对它们使用SUM()!谢谢(在订购之前分组,至少在我使用的dbms中是这样)。非常好!我试图使用GROUP BY S.id,但在其他属性上出错。从未想过对它们使用SUM()!谢谢(至少在我使用的dbms中,在排序之前进行分组)。