dettus
Bicycle User
Hallo!
Ich habe gerade ein SQL-Problem auf der Arbeit, daher kann ich leider nur etwas abstrakter fragen...
Aber es geht in diese Richtung:
Ich habe
1 Variable ist auf n Intervallen definiert.
Dafuer habe ich mir schon die Tabelle gebaut, die im Anhang zu finden ist.
Also, anders ausgedrueckt, habe ich die beiden Variablen A und B. A ist auf den Intervallen 3 bis 7, B auf 8 bis 10 definiert.
Damit ist es jetzt relativ einfach, rauszufinden, welche Variablen z.B. bei 9 definiert sind:
Oder bei 4:
MEIN PROBLEM IST: Ich will es aber andersrum.
Ich moechte wissen, welche Variablen eben NICHT auf 4 und 9 definiert sind; sprich: Welche kann ich noch benutzen?
Die Antwort sollte bei 4 B,C,D,E,F sein.
Und bei 9 C,D,E,F.
Weiss jemand, wie ich das am duemmsten mache?
Ich habe gerade ein SQL-Problem auf der Arbeit, daher kann ich leider nur etwas abstrakter fragen...
Aber es geht in diese Richtung:
Ich habe
- Variablen
- Intervalle
1 Variable ist auf n Intervallen definiert.
Dafuer habe ich mir schon die Tabelle gebaut, die im Anhang zu finden ist.
Code:
; sqlite3 variablenproblem.txt
sqlite> PRAGMA TABLE_INFO(variablen);
0|id|INTEGER|0||1
1|variable|TEXT|0||0
sqlite> PRAGMA TABLE_INFO(intervalle);
0|id|INTEGER|0||1
1|variable_id|INTEGER|0||0
2|von|INTEGER|0||0
3|bis|INTEGER|0||0
sqlite> SELECT * FROM variablen;
1|A
2|B
3|C
4|D
5|E
6|F
sqlite> SELECT * FROM intervalle;
1|1|3|7
2|2|8|10
3|1|8|10
Also, anders ausgedrueckt, habe ich die beiden Variablen A und B. A ist auf den Intervallen 3 bis 7, B auf 8 bis 10 definiert.
Damit ist es jetzt relativ einfach, rauszufinden, welche Variablen z.B. bei 9 definiert sind:
Code:
sqlite> SELECT variablen.variable FROM variablen INNER JOIN intervalle ON intervalle.variable_id = variablen.id WHERE intervalle.von<9 AND intervalle.bis>9;
B
A
Oder bei 4:
Code:
sqlite> SELECT variablen.variable FROM variablen INNER JOIN intervalle ON intervalle.variable_id = variablen.id WHERE intervalle.von<4 AND intervalle.bis>4;
A
MEIN PROBLEM IST: Ich will es aber andersrum.
Ich moechte wissen, welche Variablen eben NICHT auf 4 und 9 definiert sind; sprich: Welche kann ich noch benutzen?
Die Antwort sollte bei 4 B,C,D,E,F sein.
Und bei 9 C,D,E,F.
Weiss jemand, wie ich das am duemmsten mache?