![]() |
Datenbank: mysql • Version: 5.2.3 • Zugriff über: mydac
Problem mit sql abfrage
Guten Morgen,
ich habe ein Problem bei der Umsetzung dieser Abfrage:
Delphi-Quellcode:
myquery2.SQL.Text:=(
SQL-Code:
'select andocname,anpdfname from andocblob,anpdfblob,anzt where anzt.bid = '''+bezid+''' and andocblob.andb_id = anzt.andb_id xor anpdfblob.anpb_id = anzt.anpb_id)'
Delphi-Quellcode:
Als Ergebnis, sollen alle doc-namen aus andocblob und alle pdf-namen aus anpdfblob in einem dbgrid angezeigt werden.
;
andocblob: andb_id -integer; andocname -varchar; andocblo -mediumblob; anpdfblob: anpb_id -integer; anpdfname -varchar; anpdfblo -mediumblob; anzt: bid -integer; andb_id -integer; anpb_id -integer; MfG Fridolin |
Re: Problem mit sql abfrage
SQL-Code:
'select andocname,anpdfname from andocblob,anpdfblob,anzt where anzt.bid = '''+bezid+''' and (andocblob.andb_id = anzt.andb_id or anpdfblob.anpb_id = anzt.anpb_id))'
|
Re: Problem mit sql abfrage
Funktioniert so leider nicht, hatte ich auch schon probiert... :cry:
|
Re: Problem mit sql abfrage
SQL-Code:
select
d.andocname, p.anpdfname from a.anzt join andocblob d on d.andb_id = a.andb_id join anpdfblob p on d.anpb_id = a.anpb_id where anzt.bid = :bezid; |
Re: Problem mit sql abfrage
Zitat:
|
Re: Problem mit sql abfrage
Muß anzt a heißen
|
Re: Problem mit sql abfrage
Funktioniert wieder nicht... er gibt zwar keine Fehlermeldung, zeigt aber auch keine Daten an. Ich werd einfach zwei dbgrids und zwei Abfragen nehmen, damit klappts. Trotzdem danke...
|
Re: Problem mit sql abfrage
Hast du den Parameter bezid auch gesetzt?
|
Re: Problem mit sql abfrage
Ja, hab ich.... :(
|
Re: Problem mit sql abfrage
Zeig mal deinen Code.
|
Re: Problem mit sql abfrage
Delphi-Quellcode:
myquery1.SQL.text:=('select ant_id from anhaengertypen where anhaengertyp = '''+typ+'''');
myquery1.Execute; typid:=myquery1.Fields[0].AsString; myquery1.SQL.text:=('select ang_id from angg where angesamtgewicht = '''+gg+''''); myquery1.Execute; ggid:=myquery1.Fields[0].AsString; myquery1.SQL.text:=('select anv_id from anvolumina where anvolumen = '''+vol+''''); myquery1.Execute; volid:=myquery1.Fields[0].AsString; myquery1.SQL.Text:=('select anr_id from anradstaende where anradstand = '''+rad+''''); myquery1.Execute; radid:=myquery1.Fields[0].AsString; myquery1.SQL.Text:=('select anrs_id from anrschraenke where anrschrank = '''+rschr+''''); myquery1.Execute; rschrid:=myquery1.Fields[0].AsString; myquery1.SQL.Text:=('select anus_id from anuschraenke where anuschrank = '''+uschr+''''); myquery1.Execute; uschrid:=myquery1.Fields[0].AsString; myquery1.SQL.Text:=('select bid from anbezeichnungen where ant_id = '''+typid+''' and ang_id = '''+ggid+''' and anv_id = '''+volid+''' and anr_id = '''+radid+''' and anrs_id = '''+rschrid+''' and anus_id = '''+uschrid+''''); myquery1.Execute; bezid:=myquery1.fields[0].asstring; myquery2.SQL.Text:=('select andocname,anpdfname from anzt a join andocblob d on d.andb_id = a.andb_id join anpdfblob p on p.anpb_id = a.anpb_id where a.bid = :bezid'); myquery2.Execute; |
Re: Problem mit sql abfrage
Du solltest dir nochmal die Grundlagen von DB-Programmierung durchlesen
-Warum die Klammern bei der .SQL.Text-Zuweisung? -Warum Setzen des Parameters vor der Zuweisung des Abfragestrings? |
Re: Problem mit sql abfrage
:wiejetzt: Bis jetzt hat ja alles auf diese Weise funktioniert...
|
Re: Problem mit sql abfrage
Wenn ich dich richtig verstanden habe müsste das eher über den UNION Befehl gehen. Joinen zwischen de Tabellen andocblob und anpdfblob hilft da nicht weiter.
|
Re: Problem mit sql abfrage
Zitat:
Super Geil, dass funktioniert... Danke :-D :dp: |
Re: Problem mit sql abfrage
Zitat:
Hab deine Anforderung nicht richtig verstanden und anzt als Verknüpfungstabelle angesehen |
Re: Problem mit sql abfrage
"anzt" wird ja auch als Verknüpfungstabelle genutzt...
Wie gesagt, mit UNION funktionierts. :thumb: |
Re: Problem mit sql abfrage
Zitat:
|
Re: Problem mit sql abfrage
Ich versuch mal sämtliche Klarheiten zu beseitigen:
ich habe 6 Tabellen: Typen - ant_id,typ GG - ang_id,angesamtgewicht Volumina - anv_id,anvolumen Radstaende - anr_id,radstand rschraenke - anrs_id,rschrank uschraenke - anus_id,uschrank dann habe ich die tabelle "bezeichnungen", welche sich zusammensetzt aus: bid; ant_id, ang_id, anv_id, anr_id, anrs_id, anus_id, bezeichnung jetzt noch die beiden tabellen für doc's und pdf's: docblob: andb_id,andocname,andocblo pdfblob: anpb_id,anpdfname,anpdfblo aus der tabelle bezeichnungen, wird die "bid" weitergegeben an "anzt" und aus den blob-tabellen jeweils die andb_id und die anpb_id. Meiner Meinung nach, hab ich damit die Verknüpfung zwischen dem Datensatzt und den Dateien... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 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