![]() |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
ich krieg ja schon beim 2. diese fehlermeldung. da brauch ich aber die zwischentabellen. ohne die geht es leider nicht, aber irgendwas mache ich da syntaktisch falsch ich weiß bloß nicht was?
ich weiß ich bin ein schwieriger fall aber bin ja noch relativ anfänger... |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Der 2. (if p then) ist ja bereits der Subselect, da fehlt doch noch etwas. Wie gesagt, lass Dir das komplette Statement zur Kontrolle ausgeben.
Delphi-Quellcode:
Übrigens gibt es auch Delphi-Tags (die Schaltfläche mit dem Helm), dann sind auch die Hervorhebungen dabei.
ShowMessage(dm.dsetbilder.SelectSQL.Text); //ggf. erstmal ein exit; hierhin
dm.dsetbilder.Open; |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Wie wäre es denn mit einem View?
etwa so:
Code:
so könnte man ein einheitliches Mäntelchen über die unterschiedlichen Tabellen legen.
select 'Bild',Bild.ID,Bild.Name from Bild
union select 'Tag',Tag.ID,Tag.Name from Tag union select 'Prog',Programme.ID,Programme.Name Gruß K-H |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
@p80286
ich suche ja nicht in den mastertabellen sondern in den zwischentabellen, deswegen ist das ja so schwierig. @deddyh und ich kann mir den befehl gar nicht ausgeben lassen weil er sich schon gar nicht adden lässt :( |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Wie, lässt sich nicht adden? In diesem Moment ist das doch nichts anderes als eine stinknormale Stringliste. Zur Not kannst Du aber auch temporär eine solche erzeugen, das Statement dort zusammenbauen, Dir das Ergebnis ausgeben lassen, bei Gefallen dem SQL der Query zuweisen und diese ausführen.
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
ok war mein fehler. habs jez in ein memo gepackt
SELECT * FROM Bilder b WHERE name containing upper(:WERT) OR (select * from bilder c where c.bid in (select c1.bid from BILDER c1 join zwbilderprogramme z on z.bildid = c1.bid join programme t on t.pid = z.programmid where Upper(t.namep) containing UPPER(:WERT))) |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Das sieht irgendwie unnötig kompliziert aus. Was genau bezweckst Du denn mit dem Subselect? Außerdem: fehlt da nicht ein EXISTS vor der Klammer?
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
ich bin leider noch nicht so firm in sql daher frage ich ja. diese struktur muss sein da ich die verbindung über zwtabelle und mastertabelle herstellen muss. nur wie ich die beiden selects syntaktisch richtig miteinander verknüpfe, weiß ich nicht. jede für sich alleine tut genau was sie soll.
|
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
So soll es doch am Ende aussehen, oder?
SQL-Code:
[edit] Müsste das nicht das Gleiche sein wie
SELECT * FROM bilder b
WHERE UPPER(b.name) CONTAING UPPER(:WERT) OR b.bid IN ( --b.bid IN fehlt bei Dir SELECT * FROM bilder c WHERE c.bid IN ( SELECT c1.bid FROM BILDER c1 JOIN zwbilderprogramme z ON z.bildid = c1.bid JOIN programme t ON t.pid = z.programmid WHERE UPPER(t.namep) CONTAING UPPER(:WERT) ) )
SQL-Code:
:?:[/edit]
SELECT * FROM bilder b
WHERE UPPER(b.name) CONTAING UPPER(:WERT) OR EXISTS ( SELECT * FROM zwbilderprogramme z JOIN programme t ON t.pid = z.programmid WHERE z.bildid = b.bid AND UPPER(t.namep) CONTAING UPPER(:WERT) ) |
AW: bin am verzweifeln... select abfragen miteinander kombinieren???
Delphi-Quellcode:
jetzt kriege ich den fehler: count of column list and variable list do not match
SELECT * FROM Bilder b
WHERE name containing upper(:WERT) OR b.bid IN ( SELECT * FROM bilder c WHERE c.bid IN ( SELECT c1.bid FROM BILDER c1 JOIN zwbilderprogramme z ON z.bildid = c1.bid JOIN programme t ON t.pid = z.programmid WHERE UPPER(t.namep) CONTAINing UPPER(:WERT))) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 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