Komplizierte Abfrage Hilfe benötigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Komplizierte Abfrage Hilfe benötigt

    Hi!

    ich habe folgendes Problem und bin schon langsam am verzweifeln ich hoffe ihr könnt mir helfen.

    ich habe 2 Tabellen

    1. Tabelle hat folgende spalten
    datum,id(Primary Key),publish

    2. Tabelle
    terminid,userid

    jetzt möchte ich folgende auswahl machen
    einen bestimmten Monat auswählen aus der ersten Tabelle und mit der 2. Tabelle über id=terminid verknüpfen(1:1 verknüpfung)

    soweit ist es noch einfach aber jetzt kommt mein problem

    ich möchte nach einer bestimmten userid von tabelle 2 filtern und falls diese nicht vorhanden ist trotzdem die daten von tabelle 1 geliefert bekommen zusätzlich sollte publish von tabelle 1 auch den wert 1 haben

    ich hab folgendes probiert aber ich bekomm einfach nicht mein Ergebnis

    SELECT * FROM tabelle1 AS A LEFT OUTER JOIN tabelle2 AS B ON A.id = B.terminid WHERE Month(A.datum)= 2 AND Year(datum) = 2007
    AND (B.userid IS NULL
    OR B.userid = 1) AND A.publish =1

    ich hoffe mir kann hier einer helfen

    Noch ein paar beispieldatensätze zur veranschaulichung

    id publish datum userid terminid
    2 1 05.2.2007 NULL NULL
    3 1 07.2.2007 1 3
    5 1 12.2.2007 NULL NULL
    6 1 14.2.2007 1 6
    7 1 17.2.2007 NULL NULL
    8 1 19.2.2007 NULL NULL
    9 1 21.2.2007 1 9
    10 1 24.2.2007 NULL NULL
    11 1 26.2.2007 NULL NULL
    12 1 28.2.2007 1 12
    hier sind ein paar beispieldatensätze

    tabelle1
    id datum publish
    1 2007-02-03 1
    2 2007-02-05 1
    3 2007-02-07 1
    4 2007-02-10 1
    5 2007-02-12 1
    6 2007-02-14 1
    7 2007-02-17 1
    8 2007-02-19 1
    9 2007-02-21 1
    10 2007-02-24 1
    11 2007-02-26 1
    12 2007-02-28 1

    tabelle2

    userid terminid
    1 3
    1 6
    1 9
    1 12
    3 4
    24 1
    17 1
    15 1
    7 1
    30 1
    40 1
    16 1

  • #2
    wo liegt das Problem? es ist doch so, wie du es haben willst

    Kommentar


    • #3
      nein weil 2 termine fehlen und ich weiß nicht warum die mit der id 1 und 4

      Kommentar


      • #4
        Naja ist auch logisch denn der wert userid NULL wird lediglich erkannt, wenn zum Termin kein user zugeordnet werden kann, da deine termine 1 und 4 aber eine Zuordnung haben wird dort kein NULL wert angezeigt
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          kann man des irgendwie noch mit einschließen oder geht des net??

          Kommentar


          • #6
            mach doch select * from tabelle1 dann hast du alle Termine, Mensch. Was suchst du eigentlich?

            Kommentar

            Lädt...
            X