Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Sortierung nach werten aus einer anderen Datenbank

Hallo,

ich habs grad schon über die Suche versucht, doch leider bringt er mit bei Begriffen wie ORDER alles Mögliche (bORDER, etc...)
deswegen stelle ich gleich direkt meine Frage.

Ich programmiere alle meine Datenbanken in MySQL und hab seit kurzem auch den Sinn erkannt Bezüge zwischen Datenbank-Tabellen herzustellen.

Also habe ich jetzt eine Tabelle in denen Werbebanner stehen gebaut:

ident | bild | link | ...

und eine Zweite die mit die Zugriffe speichert:

ident | zubanner | monat | jahr | zugriffe

Soweit nicht schwer.
Ich kann jetzt schön Statistik führen.
Jetzt kommt mein Problem. Ich muß jetzt alle Banner ausgeben, in der Reihenfolge, die Banner mit den wenigsten Zugriffen in diesem Monat zuerst.

so Ähnlich wie:

Code:                   In Zwischenablage kopieren (nur IE)
1">

(ich benutze den * nur hier um die Übersicht zu wahren, denn sonst stehen hier 20 Felder...)

Nur leider klappr mein Denkweg nicht, denn ich bekomme den Bezug ins ORDER nicht rein.

Bitte um Hilfe.
Hier gehts zum Orginal Eintrag "Sortierung nach werten aus einer anderen Datenbank" im Forum

Antworten

Ich frag mal leicher:

Ich habe einen Tabelle mit Bildern und die clicks auf dieses Bild in einer zweiten tabelle
z.B.:

Tabelle bilder
ident | bild

Tabelle clicks
ident | zubild | clicks

und jetzt muß ich die Bilder in der Reichenfolge der clicks ausgeben mit den wenigsten clicks zuerst.

Das würde mir schon reichen.

Stefan


2.

Gegenfrage: Wieso schreibst du die Clicks nicht auch in die erste Datenbank?


3.

Weil die clicks monat für monat registriert werden. Also muß ich das monatlich abfragen und für jeden monat ein Feld ist ein bisschen langwierig. Ich brauche aber für die statistik die werte der letzten monate auch. also wird für jeden Monat ein eintrag in die Tabelle clicks gemacht und nur der aktuelle monat abgefragt. die letzten monte werden dann im Überblick angezeigt.
Eigentlich müsste die Tabelle clicks folgt aussehen
ident | zubild | monat | jahr | clicks

und in der abfrage dann noch AND `monat`='diesermonat' AND `jahr`='diesesjahr' stehen, nur das schaffe ich auch ohne das sich jemand gedanken darüber machen muß.

Hat schon jemand nen lösungsvorschlag?

Stefan


4.

Ganz einfach: Weil das der Normalisierung widerspricht. Die Datenbank ist finde ich soweit beschrieben ganz okay.
SELECT b.ident, SUM(c.clicks) AS gesamtclicks FROM bilder b, clicks c WHERE c.zubild = b.ident GROUP BY b.ident ORDER BY gesamtclicks

Oder zumindest so ähnlich :)


5.

Ähh, danke...

jetzt bin ich am Punkt, wo meine MySQL-Fiebel auslässt und ich über www.mysql.de auch nicht weiterkomme. Ich schaffe es nicht deinen Befehl zu 100% zu verstehen. Also: ich fahr jetzt in einen Bücherladen, und kauf mir ein ordentliches MySQL-Handbuch. Morgen sag ich euch dann wie ich mein Problem mit Hilfe des Ansatzes von Oliver Albers gelöst habe.

Danke schon mal....

Stefan


6.

Bevor du unnötig Geld ausgibst schau dir mal an, ob nicht eventuell http://www.little-idiot.de/mysql/ deinem Lernstil entsprechen könnte.


7.

Hallo,

ich hab mit trotzdem ein Buch gekauft, ich hab lieger was in der Hand im Wohnzimmer zum lesen.
Um die Lösung für meinen ersten Post hier mal darzustellen:

Tabelle werbung

ident | bild | link | ...

Tabelle statistik

ident | zuident | monat | jahr | show

Code:                   In Zwischenablage kopieren (nur IE)
2">

In w liegt die Werbung mit Bildern und in s liegt die Statistik nach monaten und jahren sortiert.

Danke an alle die mich auf den richtigen Weg gebracht haben.


Hier gehts zum Orginal Eintrag "Sortierung nach werten aus einer anderen Datenbank" im Forum
 
phpforum.de | Impressum