Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#1

SQL Abfrage mit verschiedenen Tabellen

  Alt 26. Sep 2010, 18:36
Datenbank: Firebird • Version: 2.5 • Zugriff über: Delphi
Ich bekomme einfach die Abfrage aus 3 verschiedenen Tabellen nicht hin. 2 kann ich verknüpfen, aber wenn ich die 3. mit einbauen will, kommen immer Fehlermeldungen vom SQL.
Hintergrund ist, dass bei den einzelnen Maschinennummern die Anzahl der Datumseinträge, die in SWDATE hinterlegt sind, angezeigt werden sollen. Das geht auch, aber wenn ich statt der KUND_ID dann den Kundennamen aus der Tabelle anzeigen will, bekomme ich das nicht hin.

Abfrage, die geht:
Hier bekomme ich die Anzahl der Versionen angezeigt mit Maschinennnummer. Es fehlt nur noch der Kundenname
SELECT V.MANU AS Maschinennummer, COUNT (V.MANU) AS Anzahl FROM MANUS V JOIN SWDATE A ON (A.MANU_ID = V.MANU_ID) GROUP BY V.MANU HAVING(COUNT(a.manu_id)); Hier bekomme ich die Maschinennummer und den Kunden, aber die Anzahl aus SWDATE fehlt
SELECT MANUS.MANU AS Maschinennummer, KUNDEN.KUNDENNAME AS Kunde FROM MANUS JOIN KUNDEN ON (MANUS.KUND_ID = KUNDEN.KUND_ID); Es ist wahrscheinlich mit einem 2. Join zu lösen, aber alle Versuche schlugen bisher fehl.

Meine Tabellen sehen wie folgt aus:

SQL-Code:
CREATE TABLE "MANUS"
(
  "MANU_ID"    INTEGER NOT NULL,
  "MANU"    CHAR(8),
  "KUND_ID"    INTEGER,
 PRIMARY KEY ("MANU_ID")
);

CREATE TABLE "SWDATE"
(
  "MANU_ID"    INTEGER,
  "DATUM"    DATE
);

CREATE TABLE "KUNDEN"
(
  "KUND_ID"    INTEGER NOT NULL,
  "KUNDENNAME"    VARCHAR(100),
CONSTRAINT "PK_KUNDEN" PRIMARY KEY ("KUND_ID")
);
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von mkinzler (26. Sep 2010 um 18:40 Uhr) Grund: SQL-Tags eingefügt
  Mit Zitat antworten Zitat