Hallo ich habe eine Query gebastelt, die scheinbar eine sehr Hohe Laufzeitkomplexität besitzt.

Es sind zwei Tabellen

therapydata1(id,pid,diag1,diag2,diag3,diag4,diag5, diag6)
therapycosts(id,diag,costs)


Jetzt soll jeder Behandlung aus therapydata (also für jede id) die Kosten(aus Therapycosts) aufaddiert werden für jede Diagnose diag1 bis diag6 . Ungefähr so:


Code:
SELECT z.id, z.pid, sum(z.costs) AS Gesamtkosten, z.behandlungsdauer, z.versorgungsebene FROM
(
SELECT m.id, m.pid, t.diag, t.costs, m.behandlungsdauer, m.versorgungsebene
FROM therapydata1 m Join mc_therapycosts t ON t.diag=m.diag1 or t.diag=m.diag2
or t.diag=m.diag3 or t.diag=m.diag4 or t.diag=m.diag5 or t.diag=m.diag6
)  z
GROUP BY z.pid
Wie gesagt dauert das Ewigkeiten. Außerdem muss ich sogar noch zwei weitere therapydatentabellen berücksichtigen ! Das will ich mit UNION ALL machen . Das wird aber dann auch nochmal lange dauern