AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi bin am verzweifeln... select abfragen miteinander kombinieren???
Thema durchsuchen
Ansicht
Themen-Optionen

bin am verzweifeln... select abfragen miteinander kombinieren???

Offene Frage von "DeddyH"
Ein Thema von Serienchiller · begonnen am 15. Jun 2011 · letzter Beitrag vom 17. Jun 2011
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#41

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:08
Für einen OUTER JOIN kenne ich keine (offizielle) Variante ohne das Wort JOIN. Was ist denn daran so schlimm?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Serienchiller

Registriert seit: 15. Jun 2011
Ort: Wurzen
40 Beiträge
 
Delphi 7 Professional
 
#42

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:22
na schlimm ist daran, dass ich mit jeder variante die ich mit join versucht habe, seit 12 stunden programmieren immer nur sql fehler produziert habe, auch mit den varianten aus diesem thread. erst seit ich den umweg ohne join gehe, funktionieren meine abfragen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#43

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:27
Den JOIN brauchst Du doch nur ein einziges Mal, was sich danach ändert, ist ja nur die Filterbedingung. Wenn Du als Basis das hier nimmst (Tabellen-/Feldnamen ersetzen):
SQL-Code:
SELECT
  A.*
FROM
  Tabelle1 A
LEFT JOIN
  Zwischentabelle B ON B.Fremdschlüsselfeld = A.Primärschlüsselfeld
LEFT JOIN
  Bildertabelle C ON C.Primärschlüsselfeld = B.Fremdschlüsselfeld
entspricht das im Ergebnis (wenn ich keinen Denkfehler mache):
SQL-Code:
SELECT
  *
FROM
  Tabelle1
Interessant wird es nun durch Einfügen/Ändern der WHERE-Klausel.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Serienchiller

Registriert seit: 15. Jun 2011
Ort: Wurzen
40 Beiträge
 
Delphi 7 Professional
 
#44

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:32
das problem kommt dann wenn ich in eine select anweisung 5! tabellen einbauen muss wie eben hier:

Delphi-Quellcode:
if not frmhaupt.CheckBox1.Checked and frmhaupt.CheckBox2.Checked and
      frmhaupt.CheckBox3.Checked then
      dm.dsetbilder.SelectSQL.Add('select * from zwbilderprogramme z, '+
        'bilder b, programme p,zwbildertags x, tags t '+
        'where ((b.bid=z.bildid and p.pid=z.programmid) ' +
        'and (b.bid=x.bildid and t.tid=x.tagid)) '+
        'and (p.namep containing UPPER(:WERT) or t.namet '+
        'containing upper(:WERT) or x.id is null) order by upper(b.name)');
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#45

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:40
Ob 2, 10 oder 200 Tabellen ist doch syntaktisch egal, das Muster ist immer dasselbe. Du musst da Tippfehler drinhaben oder sowas. Füg doch einfach mal eine nach der anderen Tabelle im JOIN dazu, bis es knallt. Das Statement kannst Du hier posten, dann können wir mal drüberschauen, was da nicht stimmen könnte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Serienchiller

Registriert seit: 15. Jun 2011
Ort: Wurzen
40 Beiträge
 
Delphi 7 Professional
 
#46

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:47
also mit 3 tabellen funktioniert es schonmal hattest recht.

Delphi-Quellcode:
if frmhaupt.CheckBox1.Checked and not frmhaupt.CheckBox2.Checked and
      frmhaupt.CheckBox3.Checked then
      dm.dsetbilder.SelectSQL.Add('select b.* from bilder b left join '+
        'zwbildertags x on x.bildid=b.bid left join tags t '+
        'on t.tid=x.tagid where (t.namet containing UPPER(:WERT) or b.name '+
        'containing upper(:WERT)) order by upper(b.name)');
nur wie füg ich da jetzt noch die anderen beiden dazu?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#47

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:49
Na, genauso ("LEFT JOIN Tabelle ON ..." vor der WHERE-Bedingung).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#48

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:53
Wie wäre es damit, erstmal die maximale Datenmenge zu ermitteln (ggf. als View speichern):

Code:
Select b.*,p.*,t.* From bilder b
Left Join zwbilderprogramme zbp on b.bID = zbp.bildID
Left Join programme p on zbp.programmID = p.pID
Left Join zwbildertags zbt on b.bID = zbt.bildID
Left Join tags t on zbt.tagID = t.tID
Darauf dann dynamisch die Abfrage basteln, weil für alle Kombinationen der Checkboxen eine eigene Abfrage zu basteln ist doch zu aufwendig.

Select bID From
(Select ... [s.o.]])
Where //ab hier dynamisch erzeugen
Or
Or
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#49

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:54
..., weil für alle Kombinationen der Checkboxen eine eigene Abfrage zu basteln ist doch zu aufwendig.
Wie gesagt, muss er ja gar nicht, es ändert sich lediglich die WHERE-Klausel je nach Stand der Checkboxen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Serienchiller

Registriert seit: 15. Jun 2011
Ort: Wurzen
40 Beiträge
 
Delphi 7 Professional
 
#50

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 16. Jun 2011, 14:56
super das werd ich jetzt angehen hab ein gutes gefühl...
wenn es statisch alles funktioniert bau ich mir die dynamik danach rein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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