Mehrfach verschachtelte SQL
Systemumgebung: MSSQL Server, SQL-Manager 2008, sbs2008
Hallo ich habe eine Frage bezüglich verschachtelter SQL Statements.
Ich habe 2 Tabellen (AT und ME). Die AT Tabelle hat 2 Spalten, Nummer und Beschreibung. Die Nummer ist in dem Fall der Schlüssel. Bei der 2. Tabelle (ME) habe ich ebenfalls 2 Spalten, Nummer und Merkmal. Die Nummer ist in diesem Fall kein KEY und kann doppelte einträge haben.
Veranschaulichung.
Tabelle AT
Nummer | Beschreibung
1000001 | Brot mit Butter
1925212 | Kofferset
4485200 | Braunbärgulasch
5612781 | Senfdose
...
Tabelle ME
Nummer | Merkmal
1000001 | Lebensmittel
1000001 | Verderblich
1000001 | Klebrig
1925212 | Blau
1925212 | Grau
5612781 | Lebensmittel
8426462 | Blau
ich möchte nun folgendes Statement basteln:
Zeige mir alle Nummern an, die das Merkmal "Lebensmittel" haben also: Select Nummer from ME wheere Merkmal = "Lebensmittel"
so nun da ich mit ner nummer alleine nichts anfangen kann möchte ich nun noch einen querverweis von der AT Tabelle die beschreibung ziehen, so dass dann später dortsteht:
Das Merkmal Lebensmittel haben
Nummer | Beschreibung
1000001 | Brot mit Butter
5612781 | Senfdose
Ich könnte das zwar per schleife bauen in irgend ner scriptsprache (php, c# etc) aber möchte ich nicht, denn sofern so ne abfrage möglich ist möchte ich sie direkt per statement gestalten.
Danke für eure Hinweise.
Hallo ich habe eine Frage bezüglich verschachtelter SQL Statements.
Ich habe 2 Tabellen (AT und ME). Die AT Tabelle hat 2 Spalten, Nummer und Beschreibung. Die Nummer ist in dem Fall der Schlüssel. Bei der 2. Tabelle (ME) habe ich ebenfalls 2 Spalten, Nummer und Merkmal. Die Nummer ist in diesem Fall kein KEY und kann doppelte einträge haben.
Veranschaulichung.
Tabelle AT
Nummer | Beschreibung
1000001 | Brot mit Butter
1925212 | Kofferset
4485200 | Braunbärgulasch
5612781 | Senfdose
...
Tabelle ME
Nummer | Merkmal
1000001 | Lebensmittel
1000001 | Verderblich
1000001 | Klebrig
1925212 | Blau
1925212 | Grau
5612781 | Lebensmittel
8426462 | Blau
ich möchte nun folgendes Statement basteln:
Zeige mir alle Nummern an, die das Merkmal "Lebensmittel" haben also: Select Nummer from ME wheere Merkmal = "Lebensmittel"
so nun da ich mit ner nummer alleine nichts anfangen kann möchte ich nun noch einen querverweis von der AT Tabelle die beschreibung ziehen, so dass dann später dortsteht:
Das Merkmal Lebensmittel haben
Nummer | Beschreibung
1000001 | Brot mit Butter
5612781 | Senfdose
Ich könnte das zwar per schleife bauen in irgend ner scriptsprache (php, c# etc) aber möchte ich nicht, denn sofern so ne abfrage möglich ist möchte ich sie direkt per statement gestalten.
Danke für eure Hinweise.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 154657
Url: https://administrator.de/contentid/154657
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Boingboing,
bitte poste doch datenbank- und SQL-spezifische Fragen nächstes Mal im Bereich "Datenbaneken" statt in "Entwicklung".
Versuch es so:
Grüße
Biber
P.S. Wenn du das schon für ein "mehrfach verschachteltes SQL" hältst, dann habe ich schlechte Nachrichten für dich
bitte poste doch datenbank- und SQL-spezifische Fragen nächstes Mal im Bereich "Datenbaneken" statt in "Entwicklung".
Versuch es so:
SELECT AT.nummer, AT.beschreibung
FROM AT, ME
Where AT.nummer = Me.nummer
AND ME.Merkmal = 'Lebensmittel';
Grüße
Biber
P.S. Wenn du das schon für ein "mehrfach verschachteltes SQL" hältst, dann habe ich schlechte Nachrichten für dich