Hallo Helmut,
SELECT <felder aus t1 und t2>, MIN(t1.wert*t2.wert) FROM tabelle AS t1, tabelle AS t2 GROUP BY t2.name;
Zusätzlich hatte ich davor geschrieben: "Also, meine Anfrage sieht prinzipiell so aus:"
Ich betone das prinzipiell!
Tut mir leid, aber dieses Prinzip verhindert prinzipiell jede Hilfe.
das ist zunächst ein CROSS JOIN, das heißt:
Jede Zeile aus Tabelle t1 wird mit jeder Zeile aus t2 verknüpft.
Willst Du das wirklich?
Gibt es wirklich keine Join-Bedingung?Ja, das will ich und selbstverständlich gibt es auch noch Join-Bedingungen, war aber für das Problem hier eher irrelevant.
Doch, die ist relevant. Ganz besonders relevant. Entscheidend. Ich habe überhaupt keine Ahnung, was Du vorhast, was Dein Ziel ist. OK, ich habe jetzt gesehen, dass Du anscheinend einen SELFJOIN machen willst.
Verstehe ich Dich richtig: Join-Bedingung ist das Minimum des Produkts. Das erscheint mir wenig schlüssig. Somit müsste [...] Was soll das?
Die konkrete Bedingung ist auch eine andere. Auch hier greift das Argument "prinzipiell". Ich wollte nur die *Struktur* des Querys kommunizieren, nicht den Inhalt.
Nein, ich kann Dir nicht prinzipiell helfen! Ich kann Dir konkret helfen! Aber nicht mit diesen absolut unzureichenden Angaben. Wahrscheinlich wäre statt des Selfjoins ein Subselect möglich und sinnvoll. Ob das der Fall ist, kann ich nur sagen, wenn ich konkret sehe, was Du vorhast. Dein "prinzipiell" ist ausgesprochen kontraproduktiv.
Ich weiß leider nicht, was Dein Ziel ist - im Gegensatz zu Dir. Also ist es Deine Aufgabe, die notwendigen Angaben zu liefern - und nicht meine, mein Gehirn damit zu strapazieren, was Dein Ziel sein könnte.
Also erneut meine Bitte:
Beispieltabelle (es ist ja nur eine) mit Beispieldatensätzen, mit allen relevanten Spalten, mit den Joinbedingungen. Beispielergebnis mit Begründung.
Kein "prinzipieller Ansatz" eines SQL-Statements. Sowas ist hier nicht hilfreich.
Freundliche Grüße
Vinzenz