Seite 1 von 1

[SQL] Spalten aus unterschiedlichen Tabellen.

Verfasst: 09.10.2007 15:20
von Fluid Byte
Muss mich gearde jobmäßig mit Datenbankgedöns auseinandersetzen und habe gemerkt das ich weitaus weniger Ahnung habe als angenommen. :mrgreen:

Ich habe also zwei Tabellen names "Farbe" und "Kosten". Die Tabelle "Farbe" hat die Spalte "Name" und "Kosten" die Spalte "Nettopreis". Ich möchte jetzt eine Abfrage programmieren die mir (in MS Access) beide Spalten der jeweiligen Tabelle zusammen auflistet und nach "Name" aufsteigend sortiert.

Im Moment habe ich folgendes:

Code: Alles auswählen

SELECT Farbe.Name, Kosten.Nettopreis
FROM Farbe, Kosten
ORDER BY Farbe.Name ASC;
Das Problem ist das in der Spalte für den Nettopreis für alle Felder der Preis des ersten Items in der Tabelle "Nettopreis" steht.

Boah... *sülz*...

Wat mach ich falsch?

Verfasst: 09.10.2007 16:22
von Thorsten1867
Du brauchst eine Gemeinsamkeit, um die Tabellen zu kombinieren.

Code: Alles auswählen

... WHERE Farben.id = Kosten.id ...

Verfasst: 09.10.2007 16:34
von Fluid Byte
Mit ".id" ist eine Spalte an Daten gemeint die in beiden Tabellen vorhanden ist oder? Das heisst eine zusätzliche Spalte in Tabelle "Farbe" und "Kosten" mit identischen Werten würde ihr Kombinieren ermöglichen? Sowas wie eine fortlaufende Nummer?

Verfasst: 09.10.2007 16:54
von Thorsten1867
Ja. Die Datenbank muss schließlich wissen, was zusammengehört.
Die Farbe hat z.B. eine fortlaufende (UNIQUE) ID und die dazugehörigen Kosten haben eine Spalte mit der ID der Farbe.

Code: Alles auswählen

CREATE TABLE Farben (id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE Kosten (id INTEGER, nettopreis TEXT);

Verfasst: 09.10.2007 17:16
von Fluid Byte
Hat funktioniert, danke.