Marcel: komplizierte SQL-Abfrage

Beitrag lesen

Lieber CirTap,

also entweder ist deine Fragestellung flasch, das eigentliche Ergebnis ein adneres, oder du hast dich schlicht an einige Stellen vertippt (2x tabelle name2):

Natürlich hast du recht, ich habe mich vertippt, oder besser nach Copy&Paste vergessen etwas zu ändern. Das Beispiel sollte eigentlich so aussehen:
Beispiel:

Inhalt der index-Tabelle:
id | name
-----------
1  | name1
2  | name2
3  | name3

Inhalt der name1-Tabelle
id | zahlenwert
-----------
11 | 108
12 | 5
13 | 180

Inhalt der name2-Tabelle
id | zahlenwert
-----------
21 | 14
22 | 500
23 | 259

Inhalt der name3-Tabelle
id | zahlenwert
-----------
31 | 59
32 | 405
33 | 9

Es sollen also 11,13,22,23,32 augegeben werden!

Aber um mal Konkret zu werden, damit du dir besser vorstellen kannst für was ich das ganze überhaupt machen will: Es geht um eine Linkliste die ich gerade für die Seite unseres Jugendtreffs schreibe (http://www.treffpage.de/start/links). Dort sind Links in verschiedene Kategorien aufgeteilt. Als nettes Feature hab ich mir überlegt, dass die Klicks auf die Links mitgezählt werden und die Links innerhalb der Kategorien immer nach Klicks absteigend sortiert werden. Dann werden die wichtigen (oder beliebten) Links weiter oben angezeigt als die unwichtigen. Das funktioniert auch alles schon, jetzt würde ich eben nur noch gerne eine Top5-Linkliste erstellen die die am meisten angeklickten links aus allen Kategorien zusammenfasst. Das Problem ist jetzt, dass die ganzen Links eben nicht in einer Tabelle abgelegt sind sondern jede Kategorie eine eigene Tabelle hat. Der Name aller Tabellen (die auch gleichzeitig den Namen der Kategorien entsprechen) liegen in der index-Tabelle.

Die Frage ist: interessiert dich eigentlich "id" oder "zahlenwert"?

Mich interessiert ID. Die ID ist der Link, der Zahlenwert ist die Anzahl der Klicks zu dem Link.

Die andere Frage: stehen die id-Werte irgendwie in Verbindung?

Die ID-Werte stehen in keiner Verbindung, wie gesagt, es sind die Links. Im Beispiel habe ich nur Zahlen verwendet, weil ich das einfach fand.

Vielleicht formulierst du auch einfach mal das Ergebnis mit weniger abstrakten Daten: was steht denn in den Tabellen, wie gehören sie zusammen (wenn überhaupt) und was willst du letzlich ausgeben.

Ok ich versuche das mal:

Inhalt der index-Tabelle:
id | kategorie
----------------
1  | jugendtreffs
2  | partner
3  | sonstiges

Inhalt der jugendtreffs- Tabelle
adresse             | klicks
--------------------------------
www.jugendtreff1.de | 108
www.jugendtreff2.de | 5
www.jugendtreff3.de | 180

Inhalt der partner- Tabelle
adresse         | klicks
--------------------------------
www.partner1.de | 14
www.partner2.de | 500
www.partner3.de | 259

Inhalt der sonstiges- Tabelle
adresse           | klicks
--------------------------------
www.sonstiges1.de | 59
www.sonstiges2.de | 405
www.sonstiges3.de | 9

Ausgeben will ich die 5 Links die bereits am häufigsten angeklickt wurden. Also:
www.partner2.de
www.sonstiges2.de
www.partner3.de
www.jugendtreff3.de
www.jugendtreff1.de

Ich hoffe es ist jetzt etwas klarer was ich machen will.

Liebe Grüße,
Marcel