sql >> Databasteknik >  >> RDS >> Oracle

Giltig GROUP BY-fråga fungerar inte när den kombineras med INSERT INTO på Oracle

Jag kom hit för att försöka lösa en liknande situation så det verkar som om den här typen av problem fortfarande dyker upp.

I mitt fall gjorde det susen att undvika optimeringstransformationer.

Jag använde ett NO_QUERY_TRANSFORMATION-tips på "intoed" SELECT-satsen och felet försvann.

I fallet med den här frågan bör jag skriva om den som:

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. Fönsterfunktioner SORTERA dyrt, kan vi övervinna det?

  2. Beräkna decil i MySQL baserat på totaler

  3. mysql:Vad är rätt syntax för NOT LIKE?

  4. Fråga med SqlPlus (paketspecifikation och kropp)