Moin Leute!
Ich habe folgendes Problem:
Ich habe eine Datenbank mit 2 Tabellen mit folgender Struktur:
blocklist:
BlockID: int(11) auto_increment Primärschlüssel
hash: text
blocked: smallint(6)
comment: text
blocklistnames
BNID: int(11) auto_increment Primärschlüssel
BlockID: int(11)
name: text
aufrufe: int(11)
Die beiden Tabellen sollen verbunden und in einer View gespeichert werden.
Verbunden werden können sie mit folgendem SQL Befehl
SELECT T1.BlockID, T1.comment, T2.name AS maxname, T2.aufrufe AS maxnameaufrufe, SUM(T2.aufrufe) AS gesaufrufe, T1.blocked
FROM blocklist T1 LEFT JOIN (SELECT * FROM blocklistnames ORDER BY aufrufe
DESC) AS T2 ON T1.BlockID = T2.BlockID
GROUP BY T1.BlockID, T2.BlockID
ORDER BY T1.BlockID
Leider kann ich das nicht in eine View speichern, da sie keine Subqueries wie diesen enthalten dürfen:
(SELECT * FROM blocklistnames ORDER BY aufrufe
DESC) AS T2
Allerdings brauche ich diesen Subquery damit maxname und maxnameaurufe wirklich der eintrag mit den meisten Aufrufen und nicht mit dem kleinsten Index ist. Kennt jemand eine andere Methode um die Tabelle vorsortieren zu können?
Ich benutze übrigens mysql 5.0.51a-24+lenny3.
MFG
nclaasen