kostenloser Webspace werbefrei: lima-city


SQL-Query richtig gestalten?!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ranglisten

    Kostenloser Webspace von ranglisten

    ranglisten hat kostenlosen Webspace.

    Hiho...

    Ich hab folgendes Problem.

    Ich habe nen script, welches für ein b-game monsterjagden speichert.

    Dazu habe ich 3 Tabellen.

    Tabelle 1: mjid, user, time <- hier wird nur gespeichert, wann und von wem es gespeichert wurde.

    Tabelle 2: feldid, feld_mjid, x, y <- hier werden nur die koordinaten gespeichert. (es können mehrere pro speicherung sein)

    Tabelle 3: inhaltid, inhalt_feldid, monster, anzahl <- hier wird zu jedem feld aus Tabelle 2 der dazugehörige Inhalt gespeichert.

    in Tabelle 2 wird unter feld_mjid die mjid aus Tabelle 1 gespeichert
    in Tabelle 3 wird dahingegen unter inhalt_feldid die feldid aus Tabelle 2 gespeichert.

    die id&#180;s sind jeweils nur laufende nummern, allerdings auch in den entsprechenden Tabellen die selben, wie eben oben beschrieben...

    nun zum eigentlichen, ich hoffe ma hier sieht noch jmd durch ;-)

    wie kann ich nun, mit einer geschickten sql abfrage eine gruppierung erreichen, wo mir unteranderem die anzahl der monster, die verschiedenen monstertypen usw. angezeigt wird... ich bekomm das einfach nich hin...

    habe mal zwei verschiedene anfänge, aber es kommt nich das dabei raus, was ich mir vorgestellt habe...

    $sql = mysql_query("SELECT *, COUNT(mj.user) AS feldanzahl, COUNT(mjf.feldid) AS felder
     FROM monsterjagd mj, monsterjagd_feld mjf, monsterjagd_inhalt mji WHERE mjf.feld_mjid = mj.mjid AND mji.inhalt_feldid=mjf.feldid GROUP BY mj.time ORDER by time DESC") or print(mysql_error());


    oder

    $sql = mysql_query("SELECT a.mjid, COUNT(a.mjid) AS feldanzahl, COUNT(DISTINCT(c.anzahl)) AS monsteranzahl FROM monsterjagd a INNER JOIN monsterjagd_feld b ON a.mjid=b.feld_mjid INNER JOIN monsterjagd_inhalt c ON c.inhalt_feldid=b.feldid
    GROUP BY a.mjid,b.feldid,c.inhaltid,b.feld_mjid,c.inhalt_feldid ORDER BY a.mjid");


    hoffe ma, ihr versteht was ich meine... wenn nich, fragen... ich will da endlich ma ne lösung für haben... komm aber nich allein zu einer, leider...

    danke im voraus.

    mfg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hmm ich denke mal du willst nur alle Tabellen und Felder ausgeben, oder?

    Das dürfte so gehen:
    SELECT mjid,user,time,x,y,monster,anzahl FROM tab1 LEFT JOIN tab2 ON (mjid=feld_mjid) JOIN tab3
    ON feldid=inhalt_feldid;


    Grüßle
  4. f*****8

    die create table befehle wären herrlich :S

    bzw. meta info von den tabellen
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!