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

WHERE in Views

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von knanders, 30 September 2013.

  1. knanders

    knanders Benutzer

    Ich habe 2 Tabellen mit ähnlichem Inhalt aber unterschiedlichen Feldnamen, die ich mit UNION zusammen'merge' um das Gesamtergebnis zu sortieren:

    (SELECT tabelle1Id AS Id,
    tabelle1Text AS text,
    tabelle1Angelegt AS datum
    ...
    FROM tabelle1
    WHERE tabelle1User = 1)
    UNION
    (SELECT tabelle2Id AS Id,
    tabelle2Kommentar AS text,
    tabelle2MitgliedSeit AS datum
    ...
    FROM tabelle2
    WHERE tabelle2Mitglied = 1)
    ORDER BY satum ASC


    Diese Query funktioniert auch - aber ich müßte immer die User/MitgliedsNummer (in diesem Fall 1) angeben.
    Deswegen möchte ich ganz gerne aus dieser Query ein View machen, bei dem ich an beide Tabellen mit der WHERE-Clause die Nummer übergebe:

    SELECT * FROM myView WHERE Person = 1

    Irgendwie habe ich da keine passende Idee für
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Wo ist das Problem? Du erstellst einen VIEW, basierend auf Deinem UNION. Diesen VIEW fragst dann mir WHERE ab.

    Code:
    test=*# select * from knanders1;
     id | value
    ----+-------
      1 | text1
    (1 row)
    
    test=*# select * from knanders2;
     id | value
    ----+-------
      2 | text2
    (1 row)
    
    test=*# select * from knanders1 union all select * from knanders2;
     id | value
    ----+-------
      1 | text1
      2 | text2
    (2 rows)
    
    test=*# create view view_knanders as select * from knanders1 union all select * from knanders2;
    CREATE VIEW
    test=*# select * from view_knanders where id = 1;
     id | value
    ----+-------
      1 | text1
    (1 row)
    
     
  3. knanders

    knanders Benutzer

    1.000 Dank - manchmal sieht man den Wald voller Bäume nicht ! ;)
     
    akretschmer gefällt das.
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