AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Bessere Lösung für "Group by" mit 100 Feldern gesucht.
Thema durchsuchen
Ansicht
Themen-Optionen

Bessere Lösung für "Group by" mit 100 Feldern gesucht.

Ein Thema von BlueStarHH · begonnen am 13. Okt 2022 · letzter Beitrag vom 13. Okt 2022
Antwort Antwort
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#1

Bessere Lösung für "Group by" mit 100 Feldern gesucht.

  Alt 13. Okt 2022, 15:51
Datenbank: Firebird • Version: 3.x • Zugriff über: IBDAC
Ich habe eine Artikeltabelle mit über 100 Feldern und eine Tabelle ArtikelGruppe, die über die ArtikelNr verbunden sind. Ich möchte nun alle Felder der Artikeltabelle und zusätzlich alle Artikelgruppe in einem weiteren Feld zurückbekommen. Könnte ich mit einem join und group by machen:

Code:
select a.*, list(ag.Gruppe) from Artikel a
left join ArtikelGruppe ag on ag.ArtikelNr = a.ArtikelNr
where a.ArtikelNr in ('a', 'b')
group by 1,2,...,100
Problem ist nun, dass ich dafür a.* nicht verwenden kann. Alle 100 Felder müssten ausgeschrieben werden und im Group by müsste ich 100 Zahlen angeben. Kann man das kürzer/sinnvoller machen? Irgendwie die Artikelgruppe per Subselect holen und in einem Feld auflisten?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Bessere Lösung für "Group by" mit 100 Feldern gesucht.

  Alt 13. Okt 2022, 16:05
Ohne das jetzt selbst ausprobieren zu können:

SQL-Code:
select a.*, b.AGList from Artikel a
left join
  (select ag.ArtikelNr, list(ag.Gruppe) as AGList
   from ArtikelGruppe ag
   group by ag.ArtikelNr) b
  on b.ArtikelNr = a.ArtikelNr
where a.ArtikelNr in ('a', 'b')
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bessere Lösung für "Group by" mit 100 Feldern gesucht.

  Alt 13. Okt 2022, 18:26
Ohne das jetzt selbst ausprobieren zu können:

SQL-Code:
select a.*, b.AGList from Artikel a
left join
  (select ag.ArtikelNr, list(ag.Gruppe) as AGList
   from ArtikelGruppe ag
   group by ag.ArtikelNr) b
  on b.ArtikelNr = a.ArtikelNr
where a.ArtikelNr in ('a', 'b')
Danke, genau das was ich gesucht habe! Funktioniert perfekt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz