![]() |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
ja hat sie und zwar b.bid
SQL-Code:
select * from bilder b left join zwbildertags x on x.bildid=b.bid left join tags t on t.tid=x.tagid left join zwbilderprogramme z on z.bildid=b.bid left join programme p on p.pid=z.programmid |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Dann fällt mir als Workaround auf die Schnelle so etwas ein:
SQL-Code:
SELECT
* FROM bilder WHERE bid IN( SELECT DISTINCT A.bid FROM bilder A LEFT JOIN --hier jetzt die ganzen JOINs ... ) |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Du solltest darauf achten, keine Phantome zu jagen.
Du hast jetzt dynamisches SQL und gestern sah Dein Delphi code noch so aus, dass Du "nur" bestimmte Checkbox Kombinationen abgefragt hast (and/or/not Kombinationen). Nun hast Du reine Or Verknüpfungen, die der Reihe nach abgegrast werden. Sprich, Du bekommst nun wahrscheinlich einfach erstmalig die volle Ergebnissmenge. Ein Tag, das eben an mehreren Stellen greift, ergibt für jeden Or Fall ein Ergebnis. Das sollte über ein "Distinct" oder "Grouy by" einzudampfen sein. Stichwort "schon" Variable: Ich hab nicht alles verfolgt in dem Thread, aber vielleicht kannst Du statt der aufwendigen und unübersichtlichen Varianten Handhabung die where-Clause fest einbauen mit einer Bedingung die immer wahr ist
SQL-Code:
Das finden nicht alle gut, aber Du sparst Dir viel Code und gewinnst Übersichtlichkeit.
where 1=1 and([Hier der dynamische Teil])
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
so da haben wirs wieder :wall:
sql error -104 as aproximate floating point values in sql dialect1, but as 64 bit |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
*Gnarf* das SQL bitte.
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
SQL-Code:
SELECT * FROM bilder b WHERE b.bid IN(
SELECT DISTINCT b.bid FROM bilder b left join zwbildertags x on x.bildid=b.bid left join tags t on t.tid=x.tagid left join zwbilderprogramme z on z.bildid=b.bid left join programme p on p.pid=z.programmid |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Hast Du eigentlich ein SQL Browser, mit dem Du die Abfragen zuvor ohne Delphi zusammenstellen kannst. Gerade wenn das Neuland für Dich ist, könnte das die produktivere Arbeitsweise sein.
Anwendungsfälle statisch in direkt im SQL Fenster aufbauen, Syntax checken, abrufen, Ergebnis plausibilisieren. Dann kannst Du das zu Delphi übertragen. Da fehlt eine Klammer, oder? |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Zitat:
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
man bin ich doof hast recht seh ich jetzt erst...
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
ok also mit der klammer funktionierts, doch an welcher stelle müsste ich jetzt die where klauseln einfügen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz