Ich habe folgendes Problem:Abfrage zwischen zwei Datumsfeldern und zwei eingegebenen Terminen
, wenn der Benutzer zum Beispiel Mitarbeiter Urlaubszeit von drei Tagen eingeben beginnt zum Beispiel 29/04/2017
endet 02/05/2017
(Datum Rückkehr zum Büro) zugleich der Angestellte hat den Urlaub beantragt hat bereits einen Urlaub in der Tabelle gespeichert. (Feld Startdatum 01/05/2017
& Feld Enddatum 04/05/2017
was ich will ist eine Abfrage, die von den eingegebenen Urlaub stört (bedeutet nicht wollen, dass der Benutzer irgendwelche Daten, dass wurde vor den gespeicherten verwendet Ich habe Folgendes versucht und funktioniert gut
diese Abfrage sehr gut mit allen verwendeten Daten arbeitet wie
28/04/2017 to 02/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
29/04/2017 to 03/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
01/05/2017 to 02/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
02/05/2017 to 04/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
01/05/2017 to 03/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
01/05/2017 to 04/05/2017 query shows the date used (01/05/2017 to 04/05/2014)
aber wenn der Benutzer ein Datum wie
02/05/2017 bis 03/05/2017
Abfrage eingeben zeigt nichts und der Urlaub wird angenommen, was in der Tat nicht erlaubt ist, weil der Mitarbeiter bereits in einem Urlaub
die Abfrage, die ich verwende
SELECT TblEmpVacation.*, TblVacations.VacationName, tblEmployees.Emp_Name, TblEmpVacation.DateStart, TblEmpVacation.DateEnd
FROM tblEmployees INNER JOIN (TblVacations INNER JOIN TblEmpVacation ON TblVacations.VacationCode = TblEmpVacation.VacationNO) ON tblEmployees.Emp_ID = TblEmpVacation.EmpNo
WHERE tblEmployees.Emp_Name="Khaled Eissa" AND TblEmpVacation.DateStart Between 5/2/2017 And 5/3/2017 AND TblEmpVacation.DateStart<>5/2/2017
UNION
SELECT TblEmpVacation.*, TblVacations.VacationName, tblEmployees.Emp_Name, TblEmpVacation.DateStart, TblEmpVacation.DateEnd
FROM tblEmployees INNER JOIN (TblVacations INNER JOIN TblEmpVacation ON TblVacations.VacationCode = TblEmpVacation.VacationNO) ON tblEmployees.Emp_ID = TblEmpVacation.EmpNo
WHERE tblEmployees.Emp_Name="Khaled Eissa" AND TblEmpVacation.DateEnd Between 5/2/2017 And 5/3/2017 AND TblEmpVacation.DateEnd<>5/3/2017
jede Hilfe
Keine Ahnung, was Ihre Frage ist. Was ist deine Frage? – Hogan
Ich denke, Sie müssen 'to_char' Methode verwenden, um Zeichenfolge zu Datum in der' WHERE'-Klausel zu konvertieren – Pons
siehe bearbeitete Frage und werfen Sie einen Blick auf die Tabellen Bild –