Sql 将“选择”和“全部并集”组合起来

Sql 将“选择”和“全部并集”组合起来,sql,oracle,Sql,Oracle,以下两个问题: 一, 二, 这意味着我合并了两个完整的表,这显然是一种过度使用。我不清楚您想要什么。看起来您想从idA到Value通过TableA和TableB1或TableB2,哪一个具有匹配的值 SELECT A.idA, A.idB, COALESCE(B1.Value, B2.Value) FROM tableA A WHERE idA = 1; LEFT JOIN TableB1 B1 ON B1.idB = A.idB LEFT JOIN TableB2 B2 on B2.idB =

以下两个问题:

一,

二,


这意味着我合并了两个完整的表,这显然是一种过度使用。

我不清楚您想要什么。看起来您想从
idA
Value
通过
TableA
TableB1
TableB2
,哪一个具有匹配的

SELECT A.idA, A.idB, COALESCE(B1.Value, B2.Value)
FROM tableA A
WHERE idA = 1;
LEFT JOIN TableB1 B1 ON B1.idB = A.idB
LEFT JOIN TableB2 B2 on B2.idB = A.idB

我不清楚你想要什么。看起来您想从
idA
Value
通过
TableA
TableB1
TableB2
,哪一个具有匹配的

SELECT A.idA, A.idB, COALESCE(B1.Value, B2.Value)
FROM tableA A
WHERE idA = 1;
LEFT JOIN TableB1 B1 ON B1.idB = A.idB
LEFT JOIN TableB2 B2 on B2.idB = A.idB

对于整个删除/取消删除编辑,我很抱歉,我以为我有解决方案,但结果它不起作用。对于整个删除/取消删除编辑,我以为我有解决方案,但结果它不起作用。你搞定了。这就是我想做的,联合对我来说是新的,谢谢!你搞定了。这就是我想做的,联合对我来说是新的,谢谢!
SELECT 
    idA, idB 
FROM 
    tableA a,
LEFT JOIN
    (SELECT idB, value FROM tableB1
     UNION ALL
     SELECT idB, value FROM tableB2) b ON b.idB = a.idB
WHERE idA = 1;
SELECT A.idA, A.idB, COALESCE(B1.Value, B2.Value)
FROM tableA A
WHERE idA = 1;
LEFT JOIN TableB1 B1 ON B1.idB = A.idB
LEFT JOIN TableB2 B2 on B2.idB = A.idB