誰かが行ったオラクルの選択を変更する必要があります...理解する必要があります...それは悪い選択だと思いますが、よくわかりません:
FROM user01.myTable FULL OUTER JOIN user01.myTable myTable_alias2
SELECT
myTable.field1 AS field1,
myTable.date_hour AS date_hour,
myTable.HOUR,
DECODE (
myTable.aux1, 'CAT', 'CAT3', myTable.aux1
) AS aux1,
myTable.sum_count,
myTable_alias2.sum_count AS sum_countx,
myTable.aux2,
myTable_alias2.aux2 AS aux2x
FROM user01.myTable FULL OUTER JOIN user01.myTable myTable_alias2
ON (myTable.field1 = myTable_alias2.field1
AND myTable.HOUR = myTable_alias2.HOUR
AND myTable.aux1 = myTable_alias2.aux1
AND TO_CHAR (TO_DATE (myTable.date_hour, 'YYYYMMDD') - 7,'YYYYMMDD') = myTable_alias2.date_hour
)
私のシステムにはuser01.myTableがありますが、私のシステムにはmyTable_alias2はありません。すべての myTable_alias2 を myTable_aliasXXX に置き換えると、選択が正しく機能します!
わかりません。myTable_alias2 は user01.myTable のコピーのようなものだと思いますが、正しければ次のようにすべて書くことができます。
SELECT
myTable.field1 AS field1,
myTable.date_hour AS date_hour,
myTable.HOUR,
DECODE (myTable.aux1, 'CAT01L0', 'CAT01L03', myTable.aux1) AS aux1,
myTable.sum_count,
myTable.aux2
FROM user01.myTable
私が間違っているのは何ですか?私は何を理解していないのですか?特に完全な外部結合ですか、それとも単純なエラーですか? お時間をいただき、誠にありがとうございました。