T-Rex: Count mit subselect Abfrage

Beitrag lesen

Also ich finde, dass was ich machen möchte sehr komplex. Es ist sehr kompliziert es zu erklären. Deshalb habe ich den Query schrittweise aufgebaut, damit ein dritter es leichter hat meine Gedanken zu verfolgen. Ich habe vorher im Internet ein wenig nach einer Lösung gesucht. Da scheißen einige ja einen immens langen Query ins Forum und am Ende kommt ein "Such mal Fehler".

Bei meinem Beispiel hat der User über eine Webseite (oder wie auch immer) bereits 2 Eigenschaften gewählt - süß (2) und Desert (17). Jetzt möchte ich wissen wie viel Rezepte die restlichen Eigenschaften in Kombination mit den gewählten Eigenschaften haben.

Also gehe ich die Eigenschaften durch. Dann wird geguckt wie viel Rezepte hat sauer + süß + desert, vegan + süß + desert etc...
Damit ich keine X Abfragen habe versuche ich das alles in einer Abfrage zu machen.

Den Query den du jetzt rausgezogen hast war nur ein Schritt zum Ganzen.

select E.*, (select count(*) from (select count(*) as ANZAHL from RE where RE_ID_E = "2" or RE_ID_E = "17" or RE_ID_E = E_ID group by RE_ID_R having ANZAHL = 3 ) as muss ) as REZEPTE from E

Das wäre der komplette Query. "2" und "17" sind gewählt, RE_ID_E = E_ID wäre die "dynamische" Eigenschaft (keine Ahnung wie ich das sonst nennen soll).
Der Query hätte theoretisch die richtige Logik und würde mir die Ergebnisse so liefern wie ich sie brauche, aber wie gesagt der Subquery kennt "E_ID" nicht.

Also sehe ich aktuell zwei Lösungsansätze. Entweder schaffe ich es irgendwie das "E_ID" bekannt wird oder es gibt einen komplett anderen Ansatz. Bei meinem alten Arbeitgeber habe ich mal etwas mit Rollup gebaut. Soweit ich mich jedoch in das Thema Rollup wieder eingelesen habe, bringt mir Rollup nichts ... oder doch?

Gruß
von Russland Sanktioierter
T-Rex