xpfreund: sql Zugriff auf andere Tabellen in einer select anweisung

Hallo,

Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
also: select dies, das from x where dies=(jenes aus tabelle y)
Danke für eure Hilfe

gruß aus Senftenberg

  1. Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
    Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
    also: select dies, das from x where dies=(jenes aus tabelle y)
    Danke für eure Hilfe

      
    SELECT  
     DT1.DF1,  
     DT2.DF1,  
    FROM  
     DT1  
    JOIN  
     DT2 ON (<JOINBEDINGUNG>)  
    
    

    Oder:

      
    SELECT  
     DF1  
    FROM  
     DT1  
    UNION SELECT  
     DF1  
    FROM  
     DT2  
    
    

    Was willst Du denn genau?

    1. Hallo,

      Was willst Du denn genau?

      Also: Tabelle termine
      an event datum

      Tabelle users
      ID name

      SELECT an, event, datum FROM termine WHERE event='$event' AND an=8 AND datum='$datum5'

      selektiere nur an, event und datum von termine, wenn das event, an und datum über einstimmen.
      $event und $datum5 werden bei jedem Schleifendurchlauf (foreach) verändert. "an=8" bezeichnet das Feld "an" mit der User_id "8".
      Nun soll aber "an" immer eine ID aus der Tabelle users sein, damit bei jedem Durchlauf ein anderer User ausgewählt wird.

      Hintergrund: Aus einer Textdatei werden Datum und Feiertag eingelesen, diese werden durch eine foreach-Schleife in die Tabelle termine eingetragen.
      Um jetzt zu verhindern, das beim nächsten Durchlauf die gleichen Termine für den gleichen User noch einmal eingetragen, benutze ich die oben angefragte Schleife, lasse die als numerisches Array ausgeben und prüfe mit einer if-Anweisung, ob mehr als eine Zeile vorhanden ist.
      Wenn ja, kann er sich die Einfügeop sparen, wenn nicht trage ein.

      Wie gesagt,diese select-Anweisung funktioniert schon, nur das, was ja meine Frage ist, "an" eben nicht immer 8, sondern eine ID aus users sein soll.

      Ich hoffe, dir ist es jetzt klarer, was ich bezwecken will.

      gruß aus Senftenberg

      1. Was willst Du denn genau?
        Also: Tabelle termine
        an event datum

        Tabelle users
        ID name

        SELECT an, event, datum FROM termine WHERE event='$event' AND an=8 AND datum='$datum5'

        selektiere nur an, event und datum von termine, wenn das event, an und datum über einstimmen.

        [code lang=sql]
        SELECT
         an,
         event,
         datum
        FROM
         termine
        WHERE
         (event='$event') AND
         (an =
          (
          SELECT
           <BEDINGUNG>
          ) AND
         (datum='$datum5')

        War jetzt mein letzter Versuch, muss weg, LG

  2. Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
    Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
    also: select dies, das from x where dies=(jenes aus tabelle y)
    Danke für eure Hilfe

    Oder:

      
    SELECT  
     DF1  
    FROM  
     DT1  
    WHERE  
     DF2 IN  
     (  
     SELECT  
      DF1  
     FROM  
      DT2  
     )