如何比较两个不同表的两个不同行并更新第三个表?

时间:2012-09-26 14:28:28

标签: sql oracle

我有两个不同的表值(queid,m)和Ans(queid1,an)。我想比较queid和queid1,如果它们相同则m和an的值,并且必须用正确的值更新第三个表。 Thanx一吨 表结构为
值表将有两个属性queid和m。 queid将包含3,4,5,6等数据,m将具有a,v,d,e
Ans表将具有queid1和an属性。 queid1属性将包含3,4,3,4,3,3,3,2,3,4等数据,并且将包含a,v,a,a,a,c,e,r,e,d等数据。
现在我想要的是它应该比较queid和queid1的值。所以如果我们在值表中考虑 3 即queid的第一个值,那么它应该在ans表中找到所有 3 ,然后应该比较 a < / b>(即值表中对应于3的行),其中所有3都在ans中。并且a的相应的正确比较将存储在第三个表中。

1 个答案:

答案 0 :(得分:0)

这可以通过在queid&amp;上加入两个表来完成。然后将queid1列过滤到m&amp;列相等:

INSERT INTO NewTable (col1, col2)
    SELECT V.queid, V.m
    FROM Value V
    JOIN Ans A
        ON V.queid = A.queid1
    WHERE V.m = A.an
;