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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 15. Jun 2011, 13:32
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.
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
 
#2

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

  Alt 15. Jun 2011, 13:40
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)))
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 15. Jun 2011, 13:42
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?
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
 
#4

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

  Alt 15. Jun 2011, 13:56
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 15. Jun 2011, 14:03
So soll es doch am Ende aussehen, oder?
SQL-Code:
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)
    )
  )
[edit] Müsste das nicht das Gleiche sein wie
SQL-Code:
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)
  )
[/edit]
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

Geändert von DeddyH (15. Jun 2011 um 14:12 Uhr)
  Mit Zitat antworten Zitat
Serienchiller

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

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

  Alt 15. Jun 2011, 14:17
Delphi-Quellcode:
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)))
jetzt kriege ich den fehler: count of column list and variable list do not match
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#7

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

  Alt 15. Jun 2011, 14:18
Jepp, der Stern im Subselect ist falsch, da darf man natürlich nur die Id abfragen. Hast Du mal das Statement aus meinem Edit versucht?
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.740 Beiträge
 
Delphi 6 Enterprise
 
#8

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

  Alt 15. Jun 2011, 14:26
Oder eine Kombination aus DeddyH und p80286 Vorschlägen. Erst eine View erzeugen, in der über Joins und/oder Unions eine "bei mir steht alles drin"-Tabelle/View gebildet wird.

Auf den kann dann ein ganz einfaches Select geschossen werden, wo immer nur eine Bedingung angehängt wird, sinngemäß:

Delphi-Quellcode:
i:=0
SQL.Add := 'Select * From tabelle';
if cb1.checked then
  begin
  i:=i+1;
  if i=0 then SQL.Add := 'Where'
  else SQL.Add := 'Or'
  SQL.Add 'Feldname1 is like ''%(:Wert)%'')'
  end
if cb2.checked then
  begin
  i:=i+1;
  if i=0 then SQL.Add := 'Where'
  else SQL.Add := 'Or'
  SQL.Add 'Feldname2 is like ''%(:Wert)%'')'
  end
//usw.
Ralph

Geändert von Jumpy (15. Jun 2011 um 14:28 Uhr) Grund: Zuviel VBA " statt '
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 15. Jun 2011, 14:34
Wo liegt der Sinn in einer UNION, wenn ich nur die WHERE-Klausel erweitern muss? Es sei denn, ich will die Quelle unterscheiden wie von p80286 vorgeschlagen. Aber es kommt eben darauf an, wie das Ergebnis aussehen soll.
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
Antwort Antwort


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 04:13 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-2025 by Thomas Breitkreuz