n'abend,
Frage: Mit welcher SQL-Operation/mit welchem Join-Typ kann ich eine Suchabfrage realisieren a la "Gib mir alle Kleinanzeigen-IDs (ka_id), welche die Automarke Audi und 4 Türen haben". Ist das am besten mit einem Self-Join machbar oder welches Vorgehen empfehlt ihr? Das Problem ist, dass die Feldanzahl nicht fest und größer zwei ist, d.h. dass bspw. 6 oder 8 Felder auf ihren Inhalt überprüft werden müssten. An der Datenbankstruktur selbst kann ich aber leider nichts groß ändern.
SELECT k.*
FROM Kleinanzeigen k
WHERE k.ka_id IN ( SELECT f.ka_id FROM KleinanzeigenFelder f JOIN KleinanzeigenValues v ON v.kf_id = f.kf_id WHERE f.ka_name = "Automarke" AND v.kf_value = "Audi" )
AND k.ka_id IN ( SELECT f.ka_id FROM KleinanzeigenFelder f JOIN KleinanzeigenValues v ON v.kf_id = f.kf_id WHERE f.ka_name = "Türanzahl" AND v.kf_value = "4" );
Das ist zwar wirklich nicht das performanteste, aber sollte erst mal seinen Zweck erfüllen.
weiterhin schönen abend...
--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|