AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Select auf Ergebnis aus gleichem Select
Thema durchsuchen
Ansicht
Themen-Optionen

Select auf Ergebnis aus gleichem Select

Ein Thema von Eppos · begonnen am 18. Feb 2014 · letzter Beitrag vom 18. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:07
Datenbank: Firebird • Version: 2.5 • Zugriff über: FibPlus
Hallo zusammen,

ich wusste nicht wie ich mich ausdrücken soll.

Dieser SQL sollte auf das Ergebnis der Tabelle A, einen Count auf das A.Feld machen, aber es sollte eine Abfrage sein.

Delphi-Quellcode:
Select
A.Nummer,
A.Name,
(Select Count(*) from A.Name) as Anzahl
from Tabelle A
Ziel ist es, eine Aufstellung zu ein paar Tabellen zu bekommen, in der die Anzahl der Datensätze aufgelistet sind.

Die Frage ist, ist es überhaupt in einer Abfrage möglich?

Oder habe ich einen Denkfehler?

Gruß
Eppos
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:09
Warum nicht auf die einfache Tour?
SQL-Code:
Select
  A.Nummer,
  A.Name,
  Count(*) as Anzahl
from Tabelle A
Dann steht zwar in jeder Zeile "Anzahl" mit drin, aber das war denke ich so auch gewünscht.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:16
Ne so eben nicht.
Er muss den count auf eine andere Tabelle machen, und zwar auf die A.Name.

ID | Name | Anzahl
_________________________
1 | TAB1 | 47
33 | TAB2 | 22
12 | TAB3 | 123
8 | TAB4 | 456
  Mit Zitat antworten Zitat
TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:22
Sollte doch mit Group by zu erledigen sein, wenn ich das richtig sehe:

Select A.ID, A.Name, Count(*) from Tabelle A
Group by A.ID, A.Name
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:25
Nicht auf die Tabelle sondern auf das gleiche Feld wie im Select A.NAME
und der wiederum im Select-Count.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:25
Es soll ja kein Count von Tabelle A sein, sondern von der Tabelle, die in A.Name steht. Ob das so einfach geht, weiß ich mangels Erfahrung auch nicht, notfalls müsste man über die Systemtabellen gehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
TheFrog

Registriert seit: 24. Mär 2009
145 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:30
Jetzt hab ich es auch verstanden. Leider habe ich aber keine Lösung für das Problem.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:38
@DeddyH
Genau so ist es
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:40
Die Frage ist, ist es überhaupt in einer Abfrage möglich?
Hast du es denn schon ausprobiert?

Falls es nicht funktioniert, würde ich das über eine Stored Procedure lösen.
Peter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Select auf Ergebnis aus gleichem Select

  Alt 18. Feb 2014, 15:41
In diesem Fall musst du dir die Abfrage manuell zusammenbauen, da ein Tabellennamen nicht parametrisierbar ist

SQL-Code:
execute block
returns ( Nummer int, Name varchar(..), anzahl int)
as
  Select
    A.Nummer,
    A.Name
  from Tabelle A
  into :Nummer, Name do
begin
  s = 'Select Count(*) from ' || Name ||';';
  execute statement s into :anzahl;
end;
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 11:38 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