sql-abfrage

23/11/2007 - 08:06 von Mario Krsnic | Report spam
Hallo zusammen,
ich habe diese Abfrage:

SELECT perspflege.Name, perspflege.Massnahmen, Zeiten.wann
FROM Zeiten INNER JOIN perspflege ON Zeiten.id = perspflege.id
WHERE Zeiten.woche = False And Heute = DateValue(" 22.11.2007 ") And
Zeiten.früh=true and Zeiten.bestàtigt =false and Zeiten.lfd_nr in
(select personen.lfd_nr from personen where personen.deaktiv =false and
personen.bereich = 2)
ORDER BY perspflege.Name;

Die Abfrage liefert mir aber auch eine Person, die einem anderen Bereich
gehört (1), bei der also personen.bereich = 1
Was habe ich da falsch gemacht, wie könnte man die Abfrage verbessern?
Danke für euere Tips!
Mario
 

Lesen sie die antworten

#1 Peter Doering
23/11/2007 - 11:27 | Warnen spam
Hallo,

Mario Krsnic wrote:

SELECT perspflege.Name, perspflege.Massnahmen, Zeiten.wann
FROM Zeiten INNER JOIN perspflege ON Zeiten.id = perspflege.id
WHERE Zeiten.woche = False And Heute = DateValue(" 22.11.2007 ") And
Zeiten.früh=true and Zeiten.bestàtigt =false and Zeiten.lfd_nr in
(select personen.lfd_nr from personen where personen.deaktiv =false and
personen.bereich = 2)
ORDER BY perspflege.Name;

Die Abfrage liefert mir aber auch eine Person, die einem anderen Bereich
gehört (1), bei der also personen.bereich = 1
Was habe ich da falsch gemacht, wie könnte man die Abfrage verbessern?



Probier mal so:

SELECT Z.Name, P.Massnahmen, Z.wann
FROM Zeiten AS Z INNER JOIN perspflege AS P ON Z.id = P.id
WHERE Z.woche = False And Heute = Date()
And Z.früh=true and Z.bestàtigt =false
And Z.lfd_nr in
(SELECT P1.lfd_nr
FROM personen AS P1
WHERE P1.deaktiv =false
And P1.bereich = 2
AND P1.bereich = P.Bereich)
ORDER BY P.Name;

(ungetestet)

Du solltest ueber deine Namensgebung nachdenken, siehe FAQ 1.5.

Gruss - Peter

Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen