Saugkraft
Aktives Mitglied
Thread Starter
- Dabei seit
- 20.02.2005
- Beiträge
- 8.998
- Reaktionspunkte
- 3.190
Hallo liebe Mitstreiter,
ich stehe vor einem mehr oder weniger komplexen SQL Probem.
Ich habe Tabelle A:
Und Tabelle B:
Ich möchte nun beispielsweise alle Obstsorten aus Tabelle A auslesen. Basis ist Tabelle B, in ja sinngemäß hinterlegt ist: Obst beginnt bei TabelleA.id = 1 und endet bei TabelleB.id = 2.
Das kann ich in PHP in zwei Schritten realisieren:
select start_id, ende_id from tabelleB where art like 'Obst';
Danach:
select wert from tabelleA where id >= $start_id and id <= $ende_id;
Soweit so leicht.
Ich hätte das aber gerne in einem(!) SQL Statement. D.h. sinngemäß: Selektiere aus Tabelle A alle Werte, die zwischen start_id und ende_id aus Tabelle B liegen.
Hat da jemand eine Idee?
Am liebsten in einem niederen SQL Dialekt wie T-SQL.
ich stehe vor einem mehr oder weniger komplexen SQL Probem.
Ich habe Tabelle A:
Code:
id Wert
1 Banane
2 Apfel
3 Kartoffel
4 Lauch
Und Tabelle B:
Code:
id Art Start_id Ende_id
1 Obst 1 2
2 Gemüse 3 4
Ich möchte nun beispielsweise alle Obstsorten aus Tabelle A auslesen. Basis ist Tabelle B, in ja sinngemäß hinterlegt ist: Obst beginnt bei TabelleA.id = 1 und endet bei TabelleB.id = 2.
Das kann ich in PHP in zwei Schritten realisieren:
select start_id, ende_id from tabelleB where art like 'Obst';
Danach:
select wert from tabelleA where id >= $start_id and id <= $ende_id;
Soweit so leicht.
Ich hätte das aber gerne in einem(!) SQL Statement. D.h. sinngemäß: Selektiere aus Tabelle A alle Werte, die zwischen start_id und ende_id aus Tabelle B liegen.
Hat da jemand eine Idee?
Am liebsten in einem niederen SQL Dialekt wie T-SQL.