Delphi-PRAXiS
Seite 3 von 8     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi bin am verzweifeln... select abfragen miteinander kombinieren??? (https://www.delphipraxis.net/161073-bin-am-verzweifeln-select-abfragen-miteinander-kombinieren.html)

DeddyH 15. Jun 2011 14:18

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
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?

Jumpy 15. Jun 2011 14:26

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
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.

DeddyH 15. Jun 2011 14:34

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
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.

p80286 15. Jun 2011 16:39

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

Zitat von DeddyH (Beitrag 1106561)
.. ich will die Quelle unterscheiden..

ich denke das ist notwendig, da ja noch irgendwo ein paar CheckBoxen lauern, mit deren Hilfe die Quelle ausgewählt werden soll.

Gruß
K-H

mkinzler 15. Jun 2011 19:22

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
Man kann das auch in Parameter verwursteln ( habe ich schon gemacht)

SQL-Code:
select
    <Feldliste>
from
    <Tabelle>
where
    (( <Feld1 is null>) or (<Feld1> = :wert1)) or
    (( <Feld2 is null>) or (<Feld2> = :wert2)) ...;
Statt NULL kann man natürlich auch einen anderen Wert nehmen (z.B. -1)

Serienchiller 16. Jun 2011 08:38

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
also habe jetzt mal die union variante ausprobiert, aber die funktioniert ja nur, wenn ich bei beiden abfragen genau die gleiche anzahl an spalten habe. das geht deshalb nicht weil ich in der ersten abfrage ja nur eine tabelle brauche und in der 2. schon 3...

werde jetzt mal den tipp von kinzler versuchen. danke an alle die mir versuchen zu helfen. hab noch bis morgen nachmittag zeit dann muss das programm stehen. :(

DeddyH 16. Jun 2011 08:41

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
Langsam zweifle ich daran, ob ich Dein Anliegen auch richtig verstanden habe. Daher frage ich lieber noch einmal nach: es soll so sein, dass Du z.B. in ein Edit "Hallo" eingibst und dann per Checkboxen festlegen willst, welche Felder nach diesem "Hallo" durchsucht werden sollen, ist das soweit richtig?

mkinzler 16. Jun 2011 08:43

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
Die Feldliste muss immer gleich viele Spalten haben und diese müssen die identischen Typen haben. Du kannst aber auch Dummy-Felder verwenden

Serienchiller 16. Jun 2011 08:46

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

könntest du das noch mal etwas näher erläutern? also sind die felder teil der feldliste?
würde das mit tstringlist machen...

mkinzler 16. Jun 2011 08:51

AW: bin am verzweifeln... select abfragen miteinander kombinieren???
 
SQL-Code:
  select
    n.id, n.name, '' as Ort
  from
    namen n
union
  select
    n.id, n.name, o.ort
  from
    namen n
      join orte o on o.plz = n.plz;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Seite 3 von 8     123 45     Letzte »    

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