I\'m trying to write an INSERT INTO that does a some DISTINCT/GROUP BY work. The query runs perfectly fine as a select statement, but will not work if it\'s wrapped into an INS
I arrived here trying to solve a similar situation so it seems to me that this kind of problem still appears.
In my case, avoiding any optimizer transformation, did the trick.
I applied a NO_QUERY_TRANSFORMATION hint to the "intoed" SELECT statement and the error disappeared.
In the case of this question, I should rewrite it as:
INSERT INTO MasterRecords
(BatchRecordRecordID, SourceID, BatchID)
SELECT /*+NO_QUERY_TRANSFORMATION*/ RecordID, SourceID, BatchID
FROM (
SELECT RecordID, BatchID, 101 AS SourceID
FROM BatchRecords
WHERE BatchID = 150
GROUP BY RecordID, BatchID
) BR