Einzelnen Beitrag anzeigen

waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#1

Hillfe zu SQL Abfrage gesucht

  Alt 9. Feb 2014, 16:29
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo,
ich habe eine Anwendung, die Artikelfarben vergleicht. Allerdings kommen die Farben in Kombinationen vor, z.B. gibt es die Farbe blau, aber auch die Farbe blau/orange, blau/gelb etc.

Die Farben habe sind alle in einer Tabelle mit entsprechender ID abgelegt und Farbtext. In der MAstertabelle ist die entsprechende ID hinterlegt.

Ich muss auf eine Farbtabelle gehen da die Anwendung mehrsprachig sein soll.

Bei der Abfrage auf die MAstertabelle sollen nun die Datensätze ausgegeben werden, welche die Farbe im String beinhalten.
So soll z.B. bei der Auswahl blau auch die ausgegeben werden, die z.B. blau/orange, blau/gelb sind.

Über die Farbenamen in der Mastertabelle als String hatte ich dies bisher relativ einfach, in dem ich mit LIKE abfrage.
sql.Add('SELECT * from Master as s where s.Farbe_1 Like ' + QUOTEDSTR(TRIM(ComboFarbe1.Text)+'%')

Bei der ID tu ich mich ein wenig schwer, wie muss der SQL nun aussehen ?

sql.Add('SELECT * from Master as s where s.Farbe_1_ID = ' + IntToStr(zrdnlyqry_Farbe1.FieldValues['Farbe_1_ID'])
So werden leider nur die gleichen Farben ausgegeben, es fehlen die Farbkombinationen.

Ich denke, dass ich die s_Farbe_ID mit der Farbtabelle über Join verbinden muss, stoße hier aber an meine Grenzen.

Würde mich über eine kleine Hilfestellung freuen.

mfg
mfg wf

Geändert von TBx ( 9. Feb 2014 um 16:59 Uhr) Grund: Datenbankname korrigiert
  Mit Zitat antworten Zitat