![]() |
Datenbank: Firebrid • Version: 2,5 • Zugriff über: IBX
Select erstellen
Hallo Leute,
ich habe ein Problem mit dem erstellen eines Selects. Als Ergebnis möchte ich die Anzahl der Datensätze aus Tabelle 1 haben Gruppiert dannach ob es in der Tabelle 2 den Status A gibt. In der Tablle 2 kann es ein Datensatz mit dem Status A geben muss jeodch nicht sein. Des weiteren kann es auch sein das es keinen Datensatz in Tabelle 2 gibt. Ich habe es schon einmla mit einen Left Outer Join versucht was jedoch nicht funktioniert, da in Tabelle 2 der Staus mehrfach vorhanden sein kann. Beispiel für das von mir gewünschte Ergebnis count Status 3 <null> 2 A Die Tabellen sind so aufgebaut (Auf das Minimum hier gekürtzt.
Delphi-Quellcode:
Inhalt der Tabellen
Tabelle1
Zaehler Auftragsnummer Tabelle2 Zaehler Auftragsnummer Status Termin
Delphi-Quellcode:
Könnt Ihr mir hier bitte helfen ? Ich stehe hier ein wenig auf dem Schlauch.
Tabelle1:
Zaehler Auftargsnummer 1 11 2 12 3 13 4 14 5 15 Tabelle 2: Zaehler Auftragsnummer Status Termin 1 11 A 12.12.2017 2 11 A 13.12.2017 3 12 B 07.12.2017 4 13 A 12.12.2017 Tanja |
AW: Select erstellen
Bin mir nicht sicher, ob ich die Aufgabenstellung richtig verstanden habe:
SQL-Code:
select
-- Wie oft kommt der Status vor, -- dabei darf ein mehrfachvorkommender Status zu einer Auftragsnummer nur einmal gezählt werden. -- Anzahl gibt also an, wieviele unterschedliche Auftragsnummern zum Status vorkommen. count(*) as Anzahl, Status from ( -- Kombination aus Auftragsnummer und Status soll eindeutig sein. select distinct a.Auftragsnummer, b.Status from tabelle1 a left join tabelle2 b on a.Auftragsnummer = b.Auftragsnummer ) group by Status order by Status; |
AW: Select erstellen
Kann es gerade nur unter MSSQL probieren, aber da funktioniert auch dies:
SQL-Code:
SELECT COUNT(DISTINCT T1.Auftragsnummer), T2.Status
FROM Tabelle1 T1 LEFT JOIN Tabelle2 T2 ON T1.Auftragsnummer = T2.Auftragsnummer AND T2.STATUS = 'A' GROUP BY T2.Status |
AW: Select erstellen
Firebird kommt mit Count(Distinct spalte) wohl auch klar, damit ist Uwes Lösung kürzer und übersichtlicher.
|
AW: Select erstellen
Hallo Jungs,
ihr seit einfach super hier. Man so einfach kann es sein wenn man weiß wie es geht. Danke für Euer schnelles Antworten hier. Ich dachte schon ich bekomme es niemals hin. Danke Tanja :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr. |
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-2025 by Thomas Breitkreuz