Announcement

Collapse
No announcement yet.

Tupelinhalt auf Gleichheit prüfen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tupelinhalt auf Gleichheit prüfen?

    Hey!

    Ich habe folgende drei Tabellen (siehe Anhang).

    Ich möchte nun eine Abfrage erstellen, in der folgendes Ausgegeben wird:
    Alle "Paare" von Mitarbeitern mit:
    - Personal-Nr
    - Hotelname
    - Beginndatum

    die im gleichen Hotel zum gleichen Datum übernachtet haben.

    Meine Abfrage sieht bisher so aus:

    Code:
    Select Mitarbeiter.Name, Mitarbeiter.PNr, Hotel.Name, Beginn From Mitarbeiter INNER JOIN REISE ON Mitarbeiter.PNr = Reise.Mitarbeiter 
    INNER JOIN Hotel ON Hotel.Hnr = Reise.Hotel 
    WHERE Reise.Hotel = Hotel.HNr AND Reise.Beginn = Reise.Beginn ORDER BY PNr asc;
    Allerdings bekomme ich alle Kombinationen ausgegeben. Die Ausgabe sollte aber nur sein:

    Maier | 1 | 28.01.10 | Arabella
    Müller | 2 | 28.01.10 | Arabella

    Kann mir jemand weiterhelfen?? Wäre euch sehr dankbar!
    Attached Files

  • #2
    Hallo,

    kommt mir irgendwie bekannt vor ...

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Danke Falk!

      Ich hab mich ja die ganze Zeit dran versucht, aber dank dir, weiß ich nun wo mein Fehler lag.
      Code:
      WHERE (Reise.Beginn, Reise.Hotel) IN (
            SELECT Beginn, Hotel
            FROM Reise
            GROUP BY Beginn, Hotel
            HAVING count(Mitarbeiter) > 1
          )
      Mein Fehler lag in der Verknüpfung der beiden Abfragen mit "IN". genauer gesagt in diesem Teil: "WHERE (Reise.Beginn, Reise.Hotel) IN ...." Mir fehlte der Teil zwischen WHERE und IN.

      Vielen Dank!!
      Zuletzt editiert von Opa114; 10.01.2011, 13:25.

      Comment

      Working...
      X