我对 SQL 比较陌生,所以请原谅我的无知...
我有三个表,SRS_CAP、SRS_IPF 和 SRS_URA。
我想将数据从 SRS_IPF 复制到 SRS_URA,其中(某些)SRS_IPF 的主键等于 SRS_CAP 的主键。
具体来说,这就是我的问题出现的地方,我想将多行从 SRS_IPF 复制到 SRS_URA 中的一行。下面的脚本说明了我想要实现的目标,但并不打算工作 - 必须有一种更有效的方法(并且确实有效!):
INSERT INTO srs_ura
(ura_stuc, ura_seqn, ura_stat, ura_name, ura_orgn, ura_add1)
SELECT ipf_ipuc, mySEQ, 'GP',
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1TIT'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC),
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1ORG'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC,
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1AL1'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC)
FROM srs_ipf, srs_cap
WHERE ipf_ippc = CAP_MCRC AND ipf_ipuc = CAP_STUC;
如您所见 - 我想将 ipf_valu 字段重复插入 srs_ura 中的多个列,但是 srs_ipf 中同一行的 ipf_code 不同。
所以我的问题是,为了实现上述目标,我应该研究 SQL 编程的哪个领域?
我还有关于自动排序和 NCLOB 的更多问题,但我稍后会解决这些问题。我在 Oracle 服务器上。
提前致谢