Coulum does not exist - existiert aber!!!

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

  • Coulum does not exist - existiert aber!!!

    Folgende Anfrage:
    PHP-Code:
    SELECT todo_todos. * , countDISTINCT (
    todo_notes.note_id
    ) ) AS nr_notes
    FROM todo_todos
    todo_responsible_personstodo_project_members
    LEFT JOIN todo_notes ON todo_todos
    .todo_id todo_notes.todo_id
    LEFT JOIN todo_projects ON todo_todos
    .project_id todo_projects.id
    WHERE STATUS 
    <6
    AND todo_todos.todo_id todo_responsible_persons.todo_id
    AND parent =0
    AND todo_todos.project_id
    IN 
    )
    GROUP BY todo_id
    ORDER BY todo_priority ASC 
    due_date ASC
    LIMIT 0 
    30
    Folgender Fehler:
    PHP-Code:
    #1054 - Unknown column 'todo_todos.todo_id' in 'on clause' 
    Es existiert definitiv eine Tabelle mit dem Namen todo_todos in der sich auch definitiv eine Spalte mit dem Namen todo_id befindet.

    Folgender Hinweis:
    Es handelt sich hierbei nicht um ein selbst geschriebenes Script. Ich war bisher immer zu faul, mich genauer mit MySQL auseinanderzusetzen und bevorzuge daher einfache INSERT und SELECT -Abfragen, weshalb ich hier irgendwie nicht mehr weiterkomme. Zudem bin noch nicht einmal ich derjenige, der das Script einsetzen möche - ein Freund hat mich um Hilfe gebeten. Also bitte, bitte keine Kommentare à là "lern mal erstmal noch nen bisschen mysql." Das werd ich sicher machen, wenn ich es in meinen eigenen Projekten brauche ...

    Also, ich (bzw. mein Freund ) würde mich (sich) sehr um Hilfestellung freuen!!

    Vielen Dank schon im Voraus für jegliche Tipps!

    PS:
    PHP-Code:
    SELECT *
    FROM todo_todos
    WHERE todo_todos
    .todo_id =1
    LIMIT 0 
    30
    funktioniert!

  • #2
    In deiner Query joinst du an der Stelle allerdings nicht todo_todos und todo_notes, sondern todo_project_members und todo_notes.

    Du musst todo_todos an das Ende der Liste setzen, also so:
    Code:
    FROM todo_responsible_persons, todo_project_members, todo_todos
    Es gäbe noch eine andere Möglichkeit mit dem Wort "JOIN", aber da kommt im Endeffekt das gleiche wie hier raus. (Weil man wegen der Performance eigentlich auch hier die Tabellen in passender Reihenfolge haben sollte, auch wenn es nicht notwendig wäre)
    Kannst du hier nachlesen: http://dev.mysql.com/doc/refman/5.0/...imization.html
    Zuletzt geändert von TheFish511; 07.09.2008, 01:09.
    Assembler ist eine Methode,
    Programme, die zu langsam laufen,
    so umzuschreiben,
    dass sie überhaupt nicht mehr laufen.

    Kommentar


    • #3
      Vielen Dank! Werd ich weiter geben...

      Kommentar

      Lädt...
      X