Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Erstellung einer Abfrage (https://www.delphipraxis.net/80656-erstellung-einer-abfrage.html)

barnti 13. Nov 2006 11:39

Datenbank: MSQL • Zugriff über: Hibernate

Erstellung einer Abfrage
 
Hallo an Alle,

ich habe eine Herausforderung bezüglich einer Datenbankabfrage. Ich habe zwei Tabellen in meiner DB.

Cal zeigt die Tage eines Kalenders an Schichtplan beinhaltet die Schichten eines Arbeiters an einem Tag. Die Tabellen stehen somit in einer 1 zu n Beziehung. Ein Tag kann für einen Arbeiter mehrere Schichten beinhalten.

Ich möchte nun eine Abfrage formulieren (Hibernate Query), die mir alle Tage für einen Arbeiter liefert, an dem mindestens eine Schicht geplant ist. Mein Ansatz:
SQL-Code:
select
  cal
from
  Cal cal
left join
  cal.schichtplan
where
  size(cal.schichtplan) > '0'
Das funktioniert so weit. Nur werden durch den join bei 3 Schichten an einem Tag auch 3 identische Tage zurückgeliefert. Wie kann ich erreichen, dass ich jeden Tag nur einmal erhalte? Zwingende Bedingung ist, das ich "select cal" benutze, damit ich durch hibernate auch ein kompletes Objekt bauen kann.

Kann jemand helfen?

Gruß,

Barnti

mkinzler 13. Nov 2006 11:50

Re: Erstellung einer Abfrage
 
Schon mit distinct versucht?

barnti 13. Nov 2006 11:56

Re: Erstellung einer Abfrage
 
Hi,
Zitat:

Zitat von mkinzler
Schon mit distinct versucht?

das würde bedeuten ich muss so etwas schreiben wie:
SQL-Code:
Select
  distinct cal.datum
...
Das widerspricht aber der Bedingung des Select-Parts...

hoika 13. Nov 2006 15:42

Re: Erstellung einer Abfrage
 
Hallo,

Und

select cal, distinct(cal.datum) ??


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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