Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Local SQL Sprachbefehl INTERSECT (https://www.delphipraxis.net/1854-local-sql-sprachbefehl-intersect.html)

Barzy2x 27. Dez 2002 17:27


Local SQL Sprachbefehl INTERSECT
 
Unter Local SQL von Delphi steht der Sprachbefehl INTERSECT, der dazu dient nur Datensätze auszuwählen die beide SELECT Anweisungen erfüllen, nicht zur Verfügung. Habe auch keinen vergleichbaren Befehl gefunden. Hat jemand ein Idee mit welchem Befehl ich diese Abfrage formulieren könnte?

MrSpock 28. Dez 2002 13:20

Hallo Barzy2x,

ich hab es zwar nicht ausprobiert, aber es müsste über zwei IN Statements gehen:

Delphi-Quellcode:
SELECT * FROM ARTIKEL
WHERE artNr IN (SELECT artNr FROM ARTIKEL WHERE ....)
   AND artNr IN (SELECT artNr FROM ARTIKEL WHERE ...)

Barzy2x 28. Dez 2002 15:45

In der Art habe ich diese Abfrage bereits formuliert. Jedoch bleibt ein Problem, welches ich in meinem letzten Beitrag nicht richtig dargestellt habe. Zunächst meine Abfrage:
Code:
...clear
...SQL.Add('Select * FROM TermineVerwaltungTabelle');
...SQL.Add('WHERE Datum IN (Select Datum FROM TermineVerwaltungTabelle WHERE (Datum < :CurDate))');
...SQL.Add('AND Uhrzeit IN (Select Uhrzeit FROM TermineVerwaltungTabelle WHERE (Uhrzeit < :CurTime))');
...open;
Wenn ich diese Abfrage starte, selektiert SQL alle Datensätze, bei denen das aktuelle Datum vergangen ist UND die aktuelle Uhrzeit vergangen ist.
Problem:
Es ist z.B der 11.11.02 15:00 Uhr. Am 12.11.02 um 16:00 starte ich die Abfrage. Das Datum ist vergangen die Uhrzeit jedoch nicht. Also wird der Datensatz nicht selektiert .
D.h ich brauche eine Abfrage, die zunächst das Datum prüft und, wenn dieses vergangen ist, die Uhrzeit prüft. Irgendeine Idee?

Barzy2x 28. Dez 2002 15:47

Kleiner Fehler in meinem Beispiel:
Am 12.11.02 um 14:00 starte ich die Abfrage...

MrSpock 29. Dez 2002 10:03

Hallo Barzy2x,

du musst abfragen, ob (DATUM < :CurDatum) ODER ((DATUM = :CurDatum) UND (ZEIT <= :CurZeit)), dann funktioniert es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz