Dator > Oracle: Hur dela värden i kolumner

  • Oracle: Hur dela värden i kolumner


  • Ibland är det fördelaktigt att skapa kolumner ur en flera värden i en Oracle -databas fält . Att se datavärden som kolumn , i motsats till rader , tillåter olika data manipulationer och presentationer. Ett exempel kan vara att utföra en matematisk operation på en lista från ett fält , men presenteras som ett resultat under en annan värde som motsvarar en kategori för det aktuella värdet . Detta kan ses som motsvarigheten till ett galler eller cross-fliken diagram
    1
    Se vilka data som ska tillgänglig via en fråga . Ex : SELECT * FROM tabell



    Resultatet av ovanstående fråga kan ge följande tre kolumner med visas värden .



    KATEGORI artikel Pris $

    ------ A ----------- 1 --- ----- 5

    ------ A ----------- 2 ------- 10

    ------ B ----------- 2 ------- 10

    ------ B ----------3 ------- 15

    ------ C ----------- 3 ------- 15

    ------ C ----------- 4 ------- 20
    2 .
    Rewrite frågan för att skapa kolumner för kategori värden .



    SELECT

    DECODE (kategori , " A " , punkt , null ) CATEGORYA ,

    DECODE (kategori , " B " , punkt , null ) CATEGORYB ,

    DECODE (kategori , " B " , punkt , null ) CATEGORYC

    FRÅN tabell



    OBS: Denna fråga visar hur en rad värden kan bli kolumner



    Resultat av Sökning

    CATEGORYA CATEGORYB CATEGORYC

    ------- 1

    ------- 2

    ---------- ------------------- 2

    ---------------------- ------- 3

    ---------------------------------- ------------------ 3

    ----------------------- ----------------------------- 4



    Även kategorin delats upp i unika kolumner , göra kollaps dataraderna inte . Sex rader med data ( se Steg 1 träff ) upptar fortfarande sex rader av produktionen
    3
    Rewrite frågan för att hitta det högsta priset per kategori kolumner : .



    VÄLJ

    MAX ( DECODE (kategori , "A " , $ PRIS , null ) ) CATEGORYA ,

    MAX ( DECODE (kategori , " B " , $ PRIS , null ) ) CATEGORYB ,

    MAX ( DECODE (kategori , "C " , $ PRIS , null ) ) CATEGORYC

    FRÅN tabell



    Obs :

    Denna fråga visar nu en följd rad med data ( det högsta pris ) per kategori .

    Detta kan verifieras mot exemplet data i Steg 1 .

    -för CategoryA , 10 är max värdena 5 och 10 .

    -för CategoryB , 15 är högst värden 10 och 15.

    -för CategoryC , 20 är högst värden 15 och 20 .



    resultat Fråga:

    CATEGORYA CATEGORYB CATEGORYC

    --------- 10----------------- 15 ---------- ----- 20

    tips och varningar


  • MAX är en Oracle mängdfunktion som hittar det högsta värdet för en lista över värden , oavsett om alfanumerisk , numerisk eller data .
  • DECODE är en Oracle -funktion som omvandlar fältvärden som nydöpta kolumn .

Previous:nothing Next:hur du redigerar tpl filer





Relaterade artiklar


  • dataspel Design & Development
  • hur man skapar en panel som är bredden på fönstret i Visual Basic
  • livscykel av objektorienterad programvara
  • hur man öppnar och konvertera FLL dokument
  • Varför får jag ett javascript tomrum meddelande ?
  • hur du uppdaterar en Java-version i väg
  • hur man skapar ett datum i C #
  • Hur berätta om en text värde har ändrats på Visual Basic
  • Hur konvertera en e- postadress till hex
  • hur man dödar webbläsare nedladdningar med javascript