Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [ORACLE] Problema con GROUP e ORDER

    ciao!

    ho un problema con raggruppamento ed ordinamento in query oracle:
    codice:
    SELECT 
    GA.NPU NPU,
    TRIM(FT.CONTO) CONTO,
    TRIM(GA.RAGSOC) RAGSOC,
    TRIM(GA.BREVE) BREVE,
    TRIM(GA.VIA) INDIRIZZO,
    TRIM(FN_B2B_TROVA_ART_ATTR('XXL', MA.NPAM, 'PACCHETTO')) PACCHETTO,
    TRIM(FN_B2B_DESC_ATRR_AMM('XXL', 'PACCHETTO', FN_B2B_TROVA_ART_ATTR('XXL', MA.NPAM, 'PACCHETTO'))) PACC_DESC,
    TRIM(SUBSTR(MA.CODINT, 0, 8)) MODELLO,
    TRIM(SUBSTR(MA.CODINT, 10, 4)) COLORE,
    TRIM(SUBSTR(MA.CODINT, 15)) TG,
    FN_B2B_DESC_MAT('XXL', ' ', SUBSTR(MA.CODINT, 1, 8)) DESCRIZIONE,
    FN_B2B_DESC_ATRR_AMM('XXL', 'A-VAR', SUBSTR(MA.CODINT, 10, 4)) COL_DESC,
    FT.DATDOC DATA_DOC,
    TRIM(FN_B2B_TROVA_UBICAZ_GEN_ANAG(GA.NPU, '')) UBICAZCA,
    TRIM(FN_B2B_TROVA_UBICAZ_GEN_ANAG(GA.NPU, '')) UBICAZCS,
    SUM(MD.QUANTI) QTA 
    FROM MOV_MAG_DETT MD 
    INNER JOIN MOV_MAG_TEST FT ON FT.NUMERAT = MD.NUMERAT AND FT.PERIODO = MD.PERIODO AND FT.NUM = MD.NUM AND FT.SERIE = MD.SERIE 
    INNER JOIN MAT_ANAG MA ON MA.NPAM = MD.NPAM 
    INNER JOIN fsh_piani_taglie PT ON TRIM(PT.COD_PIANO_TG) = TRIM(FN_B2B_TROVA_ART_ATTR('XXL', MA.NPAM, 'A-PNTG'))
    INNER JOIN GEN_ANAG GA ON GA.NPU = FT.NPUDST 
    WHERE 
    MD.DITTA = 'XXL' 
    AND MD.FVL = ' ' 
    AND FT.FVL = ' ' 
    AND FT.DITTA = 'XXL' 
    AND FT.NUMERAT = 'AS' 
    AND MA.DITMAT = 'XXL' 
    AND MA.FVL = ' ' 
    AND MA.CODINT LIKE 'K190-151%'
    AND GA.DITAGENDA = 'XXL' 
    AND GA.FVL = ' ' 
    AND FT.DATDOC BETWEEN TO_DATE('20-01-2019', 'dd-mm-yyyy') AND TO_DATE('04-02-2019', 'dd-mm-yyyy') 
    AND pt.ditmat = 'XXL'
    AND TRIM(SUBSTR(MA.CODINT, 15)) = TRIM(pt.cod_taglia)
    GROUP BY 
    GA.NPU,
    TRIM(FT.CONTO),
    TRIM(GA.RAGSOC),
    TRIM(GA.BREVE),
    TRIM(GA.VIA),
    TRIM(FN_B2B_TROVA_ART_ATTR('XXL', MA.NPAM, 'PACCHETTO')),
    TRIM(FN_B2B_DESC_ATRR_AMM('XXL', 'PACCHETTO', FN_B2B_TROVA_ART_ATTR('XXL', MA.NPAM, 'PACCHETTO'))),
    TRIM(SUBSTR(MA.CODINT, 0, 8)),
    TRIM(SUBSTR(MA.CODINT, 10, 4)),
    TRIM(SUBSTR(MA.CODINT, 15)),
    FN_B2B_DESC_MAT('XXL', ' ', SUBSTR(MA.CODINT, 1, 8)),
    FN_B2B_DESC_ATRR_AMM('XXL', 'A-VAR', SUBSTR(MA.CODINT, 10, 4)),
    FT.DATDOC,
    TRIM(FN_B2B_TROVA_UBICAZ_GEN_ANAG(GA.NPU, '')),
    TRIM(FN_B2B_TROVA_UBICAZ_GEN_ANAG(GA.NPU, ''))
    ORDER BY
    TRIM(ft.conto),
    TRIM(SUBSTR(MA.CODINT, 0, 8)),
    TRIM(SUBSTR(MA.CODINT, 10, 4)),
    pt.sequenza
    mi da questo errore:
    codice:
    ORA-00979: non è un'espressione GROUP BY
    00979. 00000 -  "not a GROUP BY expression"
    *Cause:    
    *Action:
    Errore alla riga: 57, colonna: 1
    avete qualche idea???

  2. #2
    ho risolto mettendo anche pt.sequenza nella group by.
    sinceramente queste "costrizioni" di oracle non mi piacciono granchè....

    cmq risolto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.