Werte addieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Supadog
    antwortet
    klar hab ich da Daten drin

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    Original geschrieben von Supadog
    *hmpf* jetzt gibt's keine Ausgabe
    (Hab LIMIT wieder ran)
    auch ohne limit keine ausgabe?

    hast du daten in der DB?

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    *hmpf* jetzt gibt's keine Ausgabe
    (Hab LIMIT wieder ran)

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    wenn die felder in den beiden tabellen unterschiedliche namen tragen,
    kann man kein USING mehr verwenden.

    dann musst du das so machen ...

    PHP-Code:
    $sql "SELECT    SUM(a.workers_on),
                      a.dorf_id
            FROM      felder a
                        LEFT OUTER JOIN doerfer b ON a.dorf_id = b.id
            WHERE     b.user_id = "
    .$userinfo[user_id]."
            GROUP BY  a.dorf_id
            "
    ;

    $result mysql_query($sql) or die(mysql_error());
    $nahrung mysql_fetch_array($result);

    print 
    $nahrung[workers_on]; 
    BTW: ich würde jedoch die feldnamen immer gleich nennen, die zusammen
    eine verbindung ergeben. so sieht man dies 1. leichter und 2. kann man USING verwenden...

    EDIT:
    warum hast du das LIMIT entfernt?

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    Jo danke , bloß hab ich jetzt festgestellt dass in doerfer die Spalte dorf_id nicht dorf_d sondern id heißt und habe das ganze so umgeändert:

    PHP-Code:
    $sql "SELECT    SUM(a.workers_on),
                      a.dorf_id
            FROM      felder a
                        LEFT OUTER JOIN doerfer b USING(id)
            WHERE     b.user_id = "
    .$userinfo[user_id]."
            GROUP BY  a.dorf_id
            "
    ;

    $result mysql_query($sql) or die(mysql_error());
    $nahrung mysql_fetch_array($result);

    print 
    $nahrung[workers_on]; 
    Und bekomme folgenden fehler:
    Unknown column 'a.id' in 'on clause'

    Hätt ich das nicht machen dürfen ?

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    hatte einen fehler aus deinem code übernommen ...

    jetzt sollte es aber gehen.

    PHP-Code:
    $sql "SELECT    SUM(a.workers_on),
                      a.dorf_id
            FROM      felder a
                        LEFT OUTER JOIN doerfer b USING(dorf_id)
            WHERE     b.user_id = "
    .$userinfo[user_id]."
            GROUP BY  a.dorf_id
            LIMIT     1"
    ;

    $result mysql_query($sql) or die(mysql_error());
    $nahrung mysql_fetch_array($result);

    print 
    $nahrung[workers_on]; 

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    Da kommt jetzt folgender Fehler:
    Code:
    You have an error in your SQL syntax near 'USING(dorf_id) WHERE b.user_id = 1 GROUP BY a.dorf_id ' at line 4
    Sagt mir leider nicht so viel - muss das mit JOIN usw. mal genauer kennenlernen (finde dazu aber nur Schrott).

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    Original geschrieben von Supadog
    Aber komischerweiße kommt ein Fehler und mysql_error() geht auch nicht
    wie ist den die fehlermeldung?

    teste mal diesen code. hier ist auch das mysql_error() mit drin.

    PHP-Code:
    $sql "SELECT    SUM(a.workers_on),
                      a.dorf_id
            FROM      felder a
                        JOIN doerfer b USING(dorf_id)
            WHERE     b.user_id = "
    .$userinfo[user_id]."
            GROUP BY  a.dorf_id
            LIMIT     1"
    ;

    $result mysql_query($sql) or die(mysql_error());
    $nahrung mysql_fetch_array($result);

    print 
    $nahrung[workers_on]; 

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    Danke !
    Aber komischerweiße kommt ein Fehler und mysql_error() geht auch nicht

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    warum schreibst du alles ein eine zeile????
    da wundert mich ja nicht, dass du den überblick verlierst.

    PHP-Code:
    $sql "SELECT    SUM(a.workers_on),
                      a.dorf_id
            FROM      felder a
                        JOIN doerfer b USING(dorf_id)
            WHERE     b.user_id = "
    .$userinfo[user_id]."
            GROUP BY  a.dorf_id
            LIMIT     1"
    ;

    $result mysql_query($sql);
    $nahrung mysql_fetch_array($result);

    print 
    $nahrung[workers_on]; 
    EDIT:
    und wenn du nur einen datensatz ausgeben willst, kann
    man auch LIMIT verwenden.

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    Und wo liegt hierbei der Fehler ?
    PHP-Code:
    $nahrung=mysql_fetch_array(mysql_query("SELECT SUM(a.workers_on),a.dorf_id FROM felder a JOIN doerfer b WHERE b.user_id=$userinfo[user_id] and b.dorf_id=a.dorf_id "));
    print 
    $nahrung[workers_on]; 

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    den kannste dir ja wieder in WHERE reinschreiben.
    ich habs mal als komplett-liste gemacht.

    Code:
    SELECT    A.name,
              SUM(B.anzahl)
    FROM      tabelle_a A
                LEFT OUTER JOIN tabelle_b B ON A.id = B.own
    WHERE     name = 'dein_name_eben'
    GROUP BY  A.name
    das gehört dann auch ins sql-forum. *VERSCHIEB*

    Einen Kommentar schreiben:


  • Supadog
    antwortet
    J danke - aber wo st der $user abgeblieben ?

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    also so ganz habe ich dich nicht verstanden.

    ich versuche es mal auf ein minimum an notwendiger info einzugrenzen.

    du hast viele werte in tabelle A. eine spalte soll aus tabelle B summiert werden, wo in einer spalte der tabelle A der name immer identisch ist. richtig? dann ist das mit einer einfachen sql-query möglich.

    Code:
    SELECT    A.name,
              SUM(B.anzahl)
    FROM      tabelle_a A
                LEFT OUTER JOIN tabelle_b B ON A.id = B.own
    GROUP BY  A.name

    Einen Kommentar schreiben:


  • Supadog
    hat ein Thema erstellt Werte addieren.

    Werte addieren

    Ahoi !

    Ich hab hier eine Sache zu erledigen und komm dabei alleine wohl nicht mehr weiter.
    Ich habe 2 Tabellen in meiner Datenbank.In Tabelle A sind die felder id und name und in Tabelle B habe ich die Felder anzahl und own !

    So jetzt möchte ich nach folgendem Schema die Werte von anzahl (Tabelle B) addieren:

    Angenommen in Tabelle A ist ein Eintrag id=1 , name=name1 , einer mit id=2 , name=name1 usw. und in Tabelle B sind die Einträge anzahl=4 , own=1 , anzahl=53 , own=1 , anzahl=66 , own=97 usw.

    Dann habe ich noch eine variable $user .
    Jetzt sollen alle Einträge aus Tabelle A gewählt werden wo name=$user ist - davon der Wert von "id" - und nach diesem Wert alle Einträge aus Tabelle B wo own=der_wert_von_id ist.
    Und diese sollen schließlich alle addiert werden so dass ich eine Zahl bekomme!

    So ... ist jetzt noch irgendjemand durchgestiegen , so wäre ich einerseits überrascht aber auch sehr froh
    Wenn noch Fragen sind so stellt sie doch bitte.

    Gruss
    Supadog
Lädt...
X