sql >> Databáze >  >> RDS >> Oracle

Platný dotaz GROUP BY nefunguje v kombinaci s INSERT INTO na Oracle

Přišel jsem sem a snažil jsem se vyřešit podobnou situaci, takže se mi zdá, že se tento druh problému stále objevuje.

V mém případě se podařilo vyhnout se jakékoli transformaci optimalizátoru.

Použil jsem nápovědu NO_QUERY_TRANSFORMATION na "intoed" SELECT a chyba zmizela.

V případě této otázky bych ji měl přepsat jako:

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


  1. PostgreSQL převede název měsíce na číslo

  2. Vytvářejte, nelámejte, výkon serveru SQL

  3. SQL – Zkontrolujte, zda se sloupec automaticky zvyšuje

  4. PHP PDO a MySQLi