Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Abfrage auf Basis von Werten in (anderen) Tabellen erstellen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von tw1st, 9 August 2013.

  1. tw1st

    tw1st Neuer Benutzer

    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 :)
     
  2. akretschmer

    akretschmer Datenbank-Guru


    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.
     
  3. tw1st

    tw1st Neuer Benutzer

    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
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden