Servus!
Ich bin kurz vorm verzweifeln…
Folgendes Szenario:
Ich habe 2 Tabellen AA und BB mit jeweils >20.000 Datensätzen. AA hat die Spalte aa, BB hat die beiden Spalten ba und bb.
Die Werte von aa können sowohl in ba, als auch in bb auftauchen.
Ich möchte jetzt gerne alle Zeilen von AA anzeigen, bei denen aa entweder in ba oder in bb vorkommt.
Ich habe es mit folgendem SQL-Befehl versucht:
SELECT A.aa, B.ba, B.bb FROM AA A, BB B
WHERE A.aa IN (SELECT ba FROM BB)
OR A.aa IN (SELECT bb from BB);
Wenn ich das ganze mit LIMIT 0,10 aufrufe hat A.aa immer den gleichen Wert, obwohl er nicht mit B.ba oder B.bb übereinstimmt. Ohne das Limit steigt nur die CPU-Auslastung auf 99% und ich kann vermutlich Jahre warten, ohne dass sich was tut…
Was mache ich da falsch?
Ach ja - das ganze passiert unter MySQL…