Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Select auf Ergebnis aus gleichem Select (https://www.delphipraxis.net/179170-select-auf-ergebnis-aus-gleichem-select.html)

Eppos 18. Feb 2014 15:07

Datenbank: Firebird • Version: 2.5 • Zugriff über: FibPlus

Select auf Ergebnis aus gleichem Select
 
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

Medium 18. Feb 2014 15:09

AW: Select auf Ergebnis aus gleichem Select
 
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.

Eppos 18. Feb 2014 15:16

AW: Select auf Ergebnis aus gleichem Select
 
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

TheFrog 18. Feb 2014 15:22

AW: Select auf Ergebnis aus gleichem Select
 
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

Eppos 18. Feb 2014 15:25

AW: Select auf Ergebnis aus gleichem Select
 
Nicht auf die Tabelle sondern auf das gleiche Feld wie im Select A.NAME
und der wiederum im Select-Count.

DeddyH 18. Feb 2014 15:25

AW: Select auf Ergebnis aus gleichem Select
 
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.

TheFrog 18. Feb 2014 15:30

AW: Select auf Ergebnis aus gleichem Select
 
Jetzt hab ich es auch verstanden. Leider habe ich aber keine Lösung für das Problem.

Eppos 18. Feb 2014 15:38

AW: Select auf Ergebnis aus gleichem Select
 
@DeddyH
Genau so ist es

Jasocul 18. Feb 2014 15:40

AW: Select auf Ergebnis aus gleichem Select
 
Zitat:

Zitat von Eppos (Beitrag 1248357)
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.

mkinzler 18. Feb 2014 15:41

AW: Select auf Ergebnis aus gleichem Select
 
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz