私はUNION ALLの参加に本当に行き詰まっています。以下はシナリオです
このクエリを個別に実行すると、結果を下回ります
1) Select salary as result from employee
where empno = '111628548' and seqno = 4
order by seqno Desc
result
------
$7000
$3000
2) Select descofemp as result from empdetail
where empno = '111628548' and seqno = 4
order by seqno Desc
result
------
very good employee
good employee
上記の両方の結果は文字列になるため、列は同じタイプです。しかし、上記の2つのクエリをユニオンオールで結合すると、次のようなものが得られます
With s1 as (Select salary from employee
where empno = '111628548' and seqno = 4
order by seqno Desc),
s2 as (Select descofemp from empdetail
where empno = '111628548' and seqno = 4
order by seqno Desc
)
select * from s1
Union ALL
select * from s2
Result
------
$3000
$7000
very good employee
good employee
ここで給与の順序が変更されていることがわかります。さまざまなことを試しましたが、UNION ALLで順序が変更されている理由を理解できません。誰かがこの問題を知っているか、直面している場合は、どうすればよいかを教えてください。それを解決します。
前もって感謝します。
よろしくモナ