AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Anzahl von Datensätzen
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl von Datensätzen

Ein Thema von muenchner · begonnen am 25. Aug 2004 · letzter Beitrag vom 25. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
muenchner

Registriert seit: 19. Aug 2004
25 Beiträge
 
#1

Anzahl von Datensätzen

  Alt 25. Aug 2004, 11:50
Ein Hallo an Alle!

Habe wieder mal ein kleines Problem!
Habe 2 Datenbanken Kunden und Vertrag in beiden ist die Kundennummer enthalten.
Nun möchte ich die Anzahl der Verträge des jeweiligen Kunden abfragen.
Habe eine DBLookupComboBox für die Kunden und eine EBEdit für die Anzahl.
Habe folgenden SQL Code eingegeben.

SELECT KundenNr, COUNT(Zahl) as Anzahl FROM Vertrag
GROUP BY KundenNr

Es wird mir immer nur die Anzahl des 1. Kunden angezeigt, egal welchen Kunden ich anwähle.

Vielleicht kann mir jemand helfen.

Danke im Voraus

Rene
  Mit Zitat antworten Zitat
Benutzerbild von sepp001
sepp001

Registriert seit: 12. Mär 2004
Ort: Schwerin
34 Beiträge
 
Delphi 7 Professional
 
#2

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 11:52
Hallo,

fehlt da nicht noch eine WHERE-Klausel, die die Kundennummer festlegt, auf die abgefragt werden soll?

Ciao,
sepp_001
Deutschland ist das einzige Land der Welt, in dem Männer achtlos über ein halbes Dutzend nackter Frauen klettern, um an eine Flasche Bier zu kommen.
  Mit Zitat antworten Zitat
Nele

Registriert seit: 2. Feb 2004
Ort: Oldenburg
25 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 12:13
Ich würde mir die Abfrage auf die schnelle folgendermaßen denken:

Select Count(*) from Vertrag where KundenNr = "KundenNummer aus DBLookupComboBox"

Dein "Group By" bewirkt, dass pro Kundenummer nur ein Datensatz angezeigt wird und das willst du ja nicht

Hoffe, ich hab hier nichts falsches erzählt ..

Gruß
Nele
... wer kämpft kann verlieren - wer nicht kämpft hat schon verloren ...
  Mit Zitat antworten Zitat
muenchner

Registriert seit: 19. Aug 2004
25 Beiträge
 
#4

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 12:19
Danke für die rasche Antwort!

Habe es mit

SELECT KundenNr, COUNT(Zahl) as Anzahl FROM Vertrag
where KundenNr= Vertrag.KundenNr
GROUP BY KundenNr

versucht. Funktioniert aber auch nicht.
Es werden immer nur die Anzahl des 1. Kunden angezeigt.

Rene
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#5

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 12:45
Moin muenchner!

Versuch bitte das:
Delphi-Quellcode:
  select KundenNr, count(*) as Anzahl
    from Vertrag
group by KundenNr
Viele Grüße
Markus
  Mit Zitat antworten Zitat
muenchner

Registriert seit: 19. Aug 2004
25 Beiträge
 
#6

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 12:55
Leider fuktioniert es immer noch nicht.
Egal was ich probiere, habe immer nur die Datensätze vom 1. Kunden.
  Mit Zitat antworten Zitat
Nele

Registriert seit: 2. Feb 2004
Ort: Oldenburg
25 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 13:54
lass das "Group by" weg - du willst doch alle Datensätze haben, oder?

Gruß
Nele
... wer kämpft kann verlieren - wer nicht kämpft hat schon verloren ...
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 14:11
Hallo muenchner,

eine WHERE Klausel ist nicht notwendig und die GROUP BY Klausel muss sein, weil alle Felder die (auch) außerhalb von Aggregatfunktionen genutzt werden in die GROUP Klausel müssen, sobald mindestens eine Aggregatfunktion genutzt wird.

Zeig uns doch bitte einmal die Struktur der Tabelle Vertrag und sage uns mit welcher DB und welchen Kompos du arbeitest.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#9

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 14:16
Hallo Rene!

Die von mir vorgeschlagene SELECT-Klausel sollte die Anzahl der Datensätze pro KundenNummer aus der Tabelle-Vertrag liefern. Sie ist ziemlich einfach, um nicht zu sagen trivial. Es wundert mich, das sie nicht funktioniert.

Nun würde ich gerne wissen warum? Deswegen möchte ich die Daten in der Tabelle-Vertrag anschauen. Was für eine Datenbank benutzt du? Kannst du die Tabelle (falls sie nicht zu groß ist) oder ein kleinen Auszug hier posten?

@Nele
Zitat von muenchner:
Ein Hallo an Alle!

Habe wieder mal ein kleines Problem!
Habe 2 Datenbanken Kunden und Vertrag in beiden ist die Kundennummer enthalten.
Nun möchte ich die Anzahl der Verträge des jeweiligen Kunden abfragen.
Habe eine DBLookupComboBox für die Kunden und eine EBEdit für die Anzahl.
Habe folgenden SQL Code eingegeben.

SELECT KundenNr, COUNT(Zahl) as Anzahl FROM Vertrag
GROUP BY KundenNr

Es wird mir immer nur die Anzahl des 1. Kunden angezeigt, egal welchen Kunden ich anwähle.

Vielleicht kann mir jemand helfen.

Danke im Voraus

Rene
Viele Grüße
Markus
  Mit Zitat antworten Zitat
muenchner

Registriert seit: 19. Aug 2004
25 Beiträge
 
#10

Re: Anzahl von Datensätzen

  Alt 25. Aug 2004, 15:10
anbei die Datenbank.(Paradox)

Habe nur Daten zum testen eingegeben
Angehängte Dateien
Dateityp: rar vertrag.rar (521 Bytes, 8x aufgerufen)
  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 01:48 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