Das habe ich auch schon gemacht. Komplexe Abfragen gehören eh in die
DB (in Form von Stored Procedures)
Ich persönlich mag Stored Procedures nicht so richtig. Am Anfang hat man alles sauber und ordentlich aber schon nach kurzer Zeit vermehren sich die Dinger wie die Karnickel, weil man A) weiter entwickeln und B) rückwärtskompatibel sein will. Also macht man mit jeder Programmversion auch eine neue Version der Stored Procedure, falls sie von Änderungen betroffen ist und die alte SP bleibt stehen wie sie war. Aber das mag ein fallspezifisches Problem sein.