Ich suche ein Muster für die Durchführung einer dynamischen Suche auf mehreren Tabellen.Need-Muster für die dynamische Suche von mehreren SQL-Tabellen
Ich habe keine Kontrolle über die Legacy (und schlecht entworfen) Datenbanktabelle Struktur.
Stellen Sie sich ein Szenario ähnlich einer Wiederaufnahme-Suche vor, bei dem ein Benutzer eine Suche nach den Daten im Lebenslauf durchführen und eine Liste der Lebensläufe abrufen möchte, die ihren Suchkriterien entsprechen. Jedes Feld kann jederzeit und in Kombination mit einem oder mehreren anderen Feldern durchsucht werden.
Die tatsächliche SQL-Abfrage wird dynamisch erstellt, abhängig davon, welche Felder durchsucht werden. Die meisten Lösungen, die ich gefunden habe, beinhalten komplizierte if Blöcke, aber ich kann nicht anders, als zu denken, dass es eine elegantere Lösung geben muss, da dies ein gelöstes Problem sein muss.
Ja, also habe ich den Weg der dynamischen Erstellung der SQL in Code begonnen. Scheint gottesfürchtig zu sein. Wenn ich wirklich versuche, die angeforderte Fähigkeit zu unterstützen, irgendeine Kombination irgendeines Feldes in irgendeiner Tabelle abzufragen, wird dies ein MASSIVER Satz von if-Anweisungen sein. Schauer
Ich glaube, ich lese, dass COALESCE funktioniert nur, wenn Ihre Daten NULLs nicht enthalten. Ist das korrekt? Wenn ja, nein, da ich überall NULL-Werte habe.