Abfrage auf Basis von Werten in (anderen) Tabellen erstellen

tw1st

Neuer Benutzer
Beiträge
2
Hallo zusammen,

ich würde gerne den WHERE-Teil meiner Abfragen mittels Angaben in einer meiner Tabellen erstellen. Momentan mache ich dies mit php.. das geht ist aber extrem langsam. Es sollte hier also nur darum gehen dies mittels mysql-Funktionen zu erzeugen.

Tabellen haben derzeit die Form:
Code:
id      item        value
--------------------------------
1        1            1
2        1            1|2
3        1,2          3,1|4

Was ich für jede Zeile brauche ist
Code:
SELECT * FROM andere_Tabelle WHERE item = '1' AND value = '1';
 
SELECT * FROM andere_Tabelle WHERE item = '1' AND (value = '1' OR value = '2');
 
SELECT * FROM andere_Tabelle WHERE
    (item = '1' AND value = '1') OR 
    (item = '2' AND (value = '1' OR value = '4'));

Für jegliche Hilfe wäre ich dankbar :)
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.851
Hallo zusammen,

ich würde gerne den WHERE-Teil meiner Abfragen mittels Angaben in einer meiner Tabellen erstellen. Momentan mache ich dies mit php.. das geht ist aber extrem langsam. Es sollte hier also nur darum gehen dies mittels mysql-Funktionen zu erzeugen.

Tabellen haben derzeit die Form:
Code:
id      item        value
--------------------------------
1        1            1
2        1            1|2
3        1,2          3,1|4

Was ich für jede Zeile brauche ist
Code:
SELECT * FROM andere_Tabelle WHERE item = '1' AND value = '1';
 
SELECT * FROM andere_Tabelle WHERE item = '1' AND (value = '1' OR value = '2');
 
SELECT * FROM andere_Tabelle WHERE
    (item = '1' AND value = '1') OR
    (item = '2' AND (value = '1' OR value = '4'));

Für jegliche Hilfe wäre ich dankbar :)


Das wird so nicht gehen so einfach. Du müßtest Dir eine Funktion schreiben, die dynamisch das SQL generiert und ausführt. Ich könn't Dir das für PostgreSQL zeigen, nicht aber für MySQL. Aber, um ehrlich zu sein, würde ich Dir das auch nicht zeigen wollen, da das ganze Konstrukt recht krank klingt. Zu was genau soll das gut sein?

Wenn da Werte zum vergleichen wären wäre es kein Ding: JOIN. So aber mußt Du ja je Zeile ein anderes SQL erzeugen.
 
Werbung:

tw1st

Neuer Benutzer
Beiträge
2
danke, aber ich habe eine Lösung!

Da die Anweisungs-Tabelle sich nur sehr sporadisch ändert, werde ich den Code weiterhin mit php bauen und dann zwischenspeichern :)

manchmal sieht man den Wald auch nicht mehr LOL
 
Oben