Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage? (https://www.delphipraxis.net/101481-sql-abfrage.html)

ereetzer 14. Okt 2007 01:52

Datenbank: Access • Zugriff über: ADO

SQL Abfrage?
 
Hallo zusammen,

ich habe u.a. eine Tabelle Wetten und eine Tabelle Tips.
Die Tabelle Tips ist mit der Tabelle Wetten verknüpft, da eine Wette mehrer Tips enthalten kann.
In der Tabelle Tips gibt es ein Feld Status (Offen, richtig, falsch, storniert).
Wie müßte man rangehen um eine sql Abfrage über die Tabelle Wetten zu gestalten die mir die alle Wetten mit dem Status "offen" anzeigt.

Weiß da jemand Rat?

ereetzer

Dax 14. Okt 2007 02:03

Re: SQL Abfrage?
 
SQL-Code:
select distinct w.* from Wette w join Tip t on t.Wette = w.id where t.Status = offen
Für den Fall, dass einzelne Tips storniert werden können und du die Wette dann nicht mehr anzeigen willst, fällt mir außer einem Subselect vorerst nichts ein..

Jelly 14. Okt 2007 09:19

Re: SQL Abfrage?
 
Wenn du den Status in der Tabelle Tips verwaltest, so kann eine ganze Wette nicht einen bestimmten Status haben, da du eine 1:n Beziehung hast.

mkinzler 14. Okt 2007 09:27

Re: SQL Abfrage?
 
Oder er müsste festlegen, wann eine Wette den Status "offen" hat, z.B. solange noche offene Tipps für sie existieren.

ereetzer 14. Okt 2007 09:40

Re: SQL Abfrage?
 
Zitat:

Zitat von mkinzler
Oder er müsste festlegen, wann eine Wette den Status "offen" hat, z.B. solange noche offene Tipps für sie existieren.

e

Das denke ich, wäre das beste.

Das heißt eine Abfrage z uerstellen, die prüft ob mindestens 1 Tip innerhalb der Wette den Status offen hat. Ist das so, dann sollte
die ganze Wette als offen markiert bzw. angezeigt werden.

Geht das innerhalb SQL?

Gruß
ereetzer

DeddyH 14. Okt 2007 09:41

Re: SQL Abfrage?
 
Funktioniert denn das Statement von Dax nicht?

mkinzler 14. Okt 2007 09:43

Re: SQL Abfrage?
 
SQL-Code:
select
    w.* 
from
    Wette w
where
    exists ( select id from tipp where wette = w.id and status = 'offen');
Oder wenn du die Tipps dazu haben willst Dax Beispiel in #1

ereetzer 14. Okt 2007 09:52

Re: SQL Abfrage?
 
Zitat:

Zitat von mkinzler
SQL-Code:
select
    w.* 
from
    Wette w
where
    exists ( select id from tipp where wette = w.id and status = 'offen');
Oder wenn du die Tipps dazu haben willst Dax Beispiel in #1

Danke, genauso hatte ich mir das vorgestellt.
Die Tips dazu brauch ich nicht, da diese separat dargestellt werden je nach Auswahl im "Bereich" Wette.

Trotzdem hatte ich mich ein wenig mit der SQL-Anweisung von Dax beschäftigt. Hab die Werte natürlich meinen Gegebenheiten angepaßt aber das ganze wollte nicht so richtig laufen.

ereetzer

Dax 14. Okt 2007 14:03

Re: SQL Abfrage?
 
Zitat:

Zitat von mkinzler
SQL-Code:
select
    w.* 
from
    Wette w
where
    exists ( select id from tipp where wette = w.id and status = 'offen');
Oder wenn du die Tipps dazu haben willst Dax Beispiel in #1

Irre ich mich grad, oder ist das mein Statement mit einem Subselect statt eines Joins? :gruebel:

mkinzler 14. Okt 2007 14:06

Re: SQL Abfrage?
 
Muss ja so sein, da es sich hier um die selben beiden Tabellen handelt


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.
Seite 1 von 2  1 2      

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