Ich bin auf der Suche nach einem Muster für die Durchführung einer dynamischen Suche in mehreren Tabellen.
Ich habe keine Kontrolle über die veraltete (und schlecht konzipierte) Tabellenstruktur der Datenbank.
Stellen Sie sich ein ähnliches Szenario wie bei einer Lebenslaufsuche vor, bei der ein Benutzer eine Suche nach beliebigen Daten im Lebenslauf durchführen und eine Liste von Lebensläufen zurückerhalten möchte, die seinen Suchkriterien entsprechen. Jedes Feld kann jederzeit und in Kombination mit einem oder mehreren anderen Feldern durchsucht werden.
Die eigentliche Sql-Abfrage wird dynamisch erstellt, je nachdem, welche Felder durchsucht werden. Die meisten Lösungen, die ich gefunden habe, beinhalten komplizierte if-Blöcke, aber ich kann nicht helfen, aber ich denke, es muss eine elegantere Lösung sein, da dies ein gelöstes Problem jetzt sein muss.
Ja, so habe ich den Weg der dynamischen Erstellung der Sql im Code begonnen. Scheint grässlich. Wenn ich wirklich versuche, die angeforderte Fähigkeit zu unterstützen, jede Kombination von jedem Feld in jeder Tabelle abzufragen, wird dies eine MASSIVE Reihe von if-Anweisungen sein. Zittern
Ich glaube, ich habe gelesen, dass COALESCE nur funktioniert, wenn Ihre Daten keine NULLs enthalten. Ist das richtig? Wenn ja, geht es nicht, da ich überall NULL-Werte habe.