Announcement

Collapse
No announcement yet.

Group By

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Group By

    kann mir jemand helfen??
    ich führe eine SQL-Abfrage

    ('select TeileNr, Sum(Anzahl) from Tablexyz group by TeileNr');

    Gibt es eine Möglichkeit, die Abfrage so zu gestalten, dass ich nach den letzten 8 Stellen von dem Feld TeileNr gruppiere??

    Bsp.: ('select TeileNr, Sum(Anzahl) from Tablexyz group by (TeileNr,5,8)');

    Oder sind das auch sog. Abgeleitete Werte??

    Vielen Dank
    Sladjana

  • #2
    Hi,

    Mit Substr() ( ist eine mitgleieferte Standardfunktion, die lediglich als external Function in den IB-Server importiert werden muss ) kannst Du deinen Wunsch erledigen.

    Z.B.:
    select TeileNr, Sum(Anzahl) from Tablexyz group by substr(TeileNr,5,8).

    Gruß
    Gesine

    Sollte Substr nicht in der where-Klausel akzeptiert werden, lege dir eine View an, in der mittels Substr nur die in Betracht kommenden Teile übrigbleiben

    Comment


    • #3
      Hi,

      @Gesine: der Vorschlag wird nicht funktionieren, da alle im select angegeben Felder auch im Group by auftauchen müssen (bis auf die Aggregatfelder). Die Abfrage müßte demzufolge so aussehen:
      select substr(TeileNr,5,8), Sum(Anzahl) from Tablexyz group by substr(TeileNr,5,8).

      @Sladjana: Wenn dir das substr(TeileNr,5,8) im select nicht ausreicht und du dort den "vollen" Namen benötigst, dann mußt du mit einer View arbeiten. z.B:<pre>
      create or replace view V_SUM_TEILENR as
      select substr(TeileNr,5,8) as SUB_TEILENR, Sum(Anzahl) as SUM_ANZ
      from Tablexyz
      group by substr(TeileNr,5,8);</pre>
      Die eigentliche Abfrage würde dann so aussehen:<pre>
      select A.TeileNr, B.SUM_ANZ
      from Tablexyz A, V_SUM_TEILENR B
      where substr(A.TeileNr,5,8) = B.SUB_TEILENR</pre>

      Gruß Fal
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X