AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi mehrere Datensätze in einer Zeile?
Thema durchsuchen
Ansicht
Themen-Optionen

mehrere Datensätze in einer Zeile?

Ein Thema von Overclocker · begonnen am 3. Jul 2008 · letzter Beitrag vom 21. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 20:59
Datenbank: access • Zugriff über: ado
Hi,

folgendes Problem:

Folgendes Szenario:
Tabelle: Bestellung
Bestellnr Artikelnr
1 580
1 581
1 582
1 583
2 585
2 586



So, jetzt möcht ich sozusagen eine Abfrage machen, um in der 1. Spalte den Kundenname zu haben und in den restlichen Spalten rechts NEBENEINANDER die artikel.
Es gibt sozusagen 3 Tabellen: Kunden, Bestellungen (mit Infos wie lieferbedingungen usw., uninteressant), Artikel

So jetzt mach ich sozusagen einen query mit Joins über alle 3 Tabellen.

Ich bekomm das alles schon so hin dass ich Kundenname und die Artikelnamen habe.

Problem ist nur, dass die Datensätze alle UNTEREINANDER angezeigt werden.

Gibt es ne möglichkeit alles in einer Zeile anzuzeigen?

Ich hoffe es ist einigermaßen verständlich, ist nämlich echt komplex.

Gruß
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:03
Z.B. mit Subselects. Nennt man auch Pivot
Markus Kinzler
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#3

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:07
aber mit nem subselect kann ich ja nur 1 datensatz zurückgeben oder?

was ist wenn ich eine schöne tabelle machen möchte, wo links alle kunden namen und rechts die bestellten artikel aufgelistet sind ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:15
Natürlich in Verbindung mit entsprechender Limitierung
Kunde 1.Artikel, 2. Artikel, ...
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:18
Datenbank->Neu->PivotTable-Assistent
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#6

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:24
datenbank-neu???
Das ist ne access datenbank.


und wie meinst du das mit limitierungen???
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:29
Mit Limitierung meine ich den 1ersten, den ersten nach Überspringen des 1. (alos den 2.) u.s.w.
Kenne mich in Access nicht aus bei
FB wäre es first 1 , first 1 skip 1 , ...
bei MySQL limit 1 , limit 1,1 , ...
bei Interbase/FB rows 1 , rows 1,1 , ...
Markus Kinzler
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#8

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:34
glaub irgendwie versteh ich das mit dem limit nicht. was bringt mir der wenn er eins weiter springt?

ausserdem geht der befehl in acces nicht

ist das so etwas wie TOP 10 oder sowas?

noch jemand n vorschlag bzw. ein beispiel?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:37
Neuer Versuch...

Abfrage erstellen...
Datenbank->Abfragen->Entwurfsansicht
Person.Name, Person-Produkt.ID, Produkt.Name

Kreuztabelle erstellen...
Datenbank->Abfragen->Kreuzabfrage-Assistent
- obige Abfrage auswählen, weiter
- person.name hinzufügen, weiter
- produkt.name hinzufügen, weiter
- produkt_id markieren, Anzahl auswählen, weiter
- Fertig stellen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: mehrere Datensätze in einer Zeile?

  Alt 3. Jul 2008, 21:41
Zitat:
glaub irgendwie versteh ich das mit dem limit nicht. was bringt mir der wenn er eins weiter springt?
Er springt nicht weiter, sondern liefert einen Ausschnitt des Ergebnis

Tabelle: Bestellung
Bestellnr Artikelnr
1 580
1 581
1 582
1 583
2 585
2 586

SQL-Code:
select
    distinct t1.Bestellnr,
    (select Artikelnummer from Bestellung where bestellnr = t1.Bestellnr limit 1),
    (select Artikelnummer from Bestellung where bestellnr = t1.Bestellnr limit 1,1)
    ...
from
    Bestellung t1;
liefert

1 580 581 ...
2 585 586 ...
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:34 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