Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Unknown column 's.template_id' in 'on clause' (1054)

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Iceman81, 13 Juni 2012.

  1. Iceman81

    Iceman81 Neuer Benutzer

    Bekomme folgenden Fehler ausgegeben

    hier der Code der entsprechenden PHP

    habe es auch schonmal mit Klammern zwischen FROM und JOIN versucht wie ich es schon anderweitig gelesen habe das hat zwar schon bei ähnlichen Fehlern geholfen aber hier nicht!

    PHP:
    $sql 'SELECT ss.user_id AS start_user_id, ss.dest, ss.move_begin, ss.move_finish, ss.action_code, ss.n_ships,
                  SUM(st.value_11) AS sum_atk_sensors,
                  SUM(st.value_12) AS sum_atk_cloak,
                 
                  u1.user_id AS dest_user_id, u1.user_name AS dest_user_name,
                  p1.planet_name AS dest_name, p1.building_7 AS dest_spacedock,
                  SUM(st.value_11) AS sum_dfd_sensors,
                  SUM(st.value_12) AS sum_dfd_cloak,
     
                  u2.user_name AS start_user_name,
                  a.alliance_id AS start_alliance_id, a.alliance_tag AS start_alliance_tag
     
            FROM (planets p1, user u1, scheduler_shipmovement ss)
     
            -- für Summe der Sensoren/Tarnung des Angreifers
            INNER JOIN ship_fleets f ON f.move_id = ss.move_id
            INNER JOIN ships s ON s.fleet_id = f.fleet_id
            INNER JOIN ship_templates st ON st.id = s.template_id
           
            -- für Daten des Angreifers
            INNER JOIN user u2 ON u2.user_id = ss.user_id
            LEFT JOIN alliance a ON a.alliance_id = u2.user_alliance
           
            WHERE u1.user_id = p1.planet_owner AND
                  u1.user_alliance = '
    .$game->player['user_alliance'].' AND
                  ss.move_status = 0 AND
                  ss.dest = p1.planet_id AND
                  ss.action_code IN  (24,25,40,41,42,43,44,45,50,51,52,53,54,55)
            GROUP BY ss.move_id
            ORDER BY p1.planet_next_attack ASC'
    ;
    woran kann es liegen?
     
  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    er schreibt, dass er die Spalte "template_id" nicht kennt! Und zwar in der Zeile "INNER JOIN ship_templates st ON st.id = s.template_id".

    Hast du die Schreibweise bereits überprüft, sowie, ob hier der richtige Tabellen-Alias verwendet wird?

    Lg
     
  3. Iceman81

    Iceman81 Neuer Benutzer

    also es gibt ne Spalte template.id in der Tabelle ships auf die hier verwiesen wird, daran kann es also nicht liegen, habs auch extra grade nochmal gecheckt!
     
  4. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    hab mir deine Fehlermeldung nochmals genauer angesehen, er spuckt dir das SQL-Stmt aus, in welchem der Fehler auftritt und dieses ist folgendes:

    Code:
     
    SELECT COUNT(s.ship_id) AS n_ships
          ,SUM(st.value_11) AS sum_sensors
          ,SUM(st.value_12) AS sum_cloak 
          
        FROM ships s
            ,ship_fleets f INNER JOIN ship_templates st 
             
             ON st.id = s.template_id 
             
        WHERE s.user_id IN (10) 
        AND s.fleet_id = f.fleet_id 
        AND f.planet_id = 1
     
    
    Hier liegt der Fehler auf der Hand... Du kannst nicht einmal JOIN zur Verknüpfung der Tabellen heranziehen und einmal die "WHERE" - Klause.
    Entweder ODER!!!


    Code:
     
    SELECT COUNT(s.ship_id) AS n_ships
          ,SUM(st.value_11) AS sum_sensors
          ,SUM(st.value_12) AS sum_cloak 
          
        FROM ship_fleets f INNER JOIN ( ships s INNER JOIN ship_templates st ON s.template_id = st.id ) ON s.fleet_id = f.fleet_id
             
        WHERE s.user_id IN (10) 
        AND f.planet_id = 1
     
    
    Lg
     
    Walter gefällt das.
  5. Iceman81

    Iceman81 Neuer Benutzer

    konnte das Problem evaluieren nachdem ich mir nochmal die Fehlermeldung angesehn habe, es gab noch ne included PHP Datei, in der genau die angemahnten Werte standen und es fehlte ne klammer beim From, seitdem gehts.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden