Announcement

Collapse
No announcement yet.

MySQL Problem mit Select Statement

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL Problem mit Select Statement

    Hi Leute,

    hab gerade ein Problem und kann es nicht lösen
    Die Join Beispiele aus dem Internet helfen mir hier leider nicht weiter.

    Folgendes Statement:
    Code:
    SELECT t.id, t.title, FROM_UNIXTIME(t.create_date, '%d.%m.%Y') as create_date, t.description, t.media, FROM_UNIXTIME(t.deadline, '%d.%m.%Y') as deadline, p.priority_name, s.status_name, k.projektname,ku.vname, ku.nname
    FROM ticket AS t
    JOIN priority AS p ON t.priority = p.id
    JOIN status AS s ON t.status = s.id
    JOIN db2.projekte AS k ON t.project = k.id
    JOIN db2.ansprechpartner AS ku ON user.ap_id = ku.id
    WHERE t.id = '3'
    Es kommt die Fehlermeldung:
    #1054 - Unknown column 'user.kbm_id' in 'on clause'

    Darauf hin habe ich es wie folgt versucht:

    Code:
    SELECT t.id, t.title, FROM_UNIXTIME(t.create_date, '%d.%m.%Y') as create_date, t.description, t.media, FROM_UNIXTIME(t.deadline, '%d.%m.%Y') as deadline, p.priority_name, s.status_name, k.projektname,ku.vname, ku.nname
    FROM ticket AS t, user AS u
    JOIN priority AS p ON t.priority = p.id
    JOIN status AS s ON t.status = s.id
    JOIN db2.projekte AS k ON t.project = k.id
    JOIN db2.ansprechpartner AS ku ON u.ap_id = ku.id
    WHERE t.id = '3'
    Es kommt die Fehlermeldung
    #1054 - Unknown column 't.priority' in 'on clause'

    Ich habe auch dran gedacht es so zu versuchen..
    Code:
    ....
    FROM ticket AS T LEFT JOIN user ON
    ... jedoch gibt es keine Referenzierung zwischen der Tabelle
    ticket und user. Nur zwischen den Tabellen
    ticket -> user_ticket
    und
    user_ticker -> user.


    Kann mir jemand auf die Sprünge helfen?
    Vielen Dank schon mal.

  • #2
    Hallo,

    ohne die korrekten Beschreibungen der verwendeten Tabellen kann dir da keiner helfen.
    Woher sollen wir wissen welche Spalten es in welcher Tabelle gibt oder eben nicht gibt?

    Der Fehlermeldung nach zu urteilen gibt es in der Tabelle ticket kein Feld mit Namen priority. Schreibfehler?

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Falk,

      Tabelle ticket
      id
      title
      project
      description
      media
      priority
      deadline
      status
      create_date

      Tabelle priority
      id
      priority_name

      Tabelle status
      id
      status_name

      Tabelle user
      id
      username
      password
      stammdat_id
      ap_id

      Die 2 Tabellen aus der Datenbank 2 (projekte und ansprechpartner) sind recht lang,
      besitzen aber die im Statement verwendete ID Spalte.

      Comment


      • #4
        Hallo,
        Originally posted by Hagbard-Celine View Post
        ...Es kommt die Fehlermeldung:
        #1054 - Unknown column 'user.kbm_id' in 'on clause'...
        Die Meldung passt überhaupt nicht zum Statement! Es gibt in deinem Select keine Verwendung von "user.kbm_id".
        Originally posted by Hagbard-Celine View Post
        Code:
        SELECT t.id, t.title, FROM_UNIXTIME(t.create_date, '%d.%m.%Y') as create_date, t.description, t.media, FROM_UNIXTIME(t.deadline, '%d.%m.%Y') as deadline, p.priority_name, s.status_name, k.projektname,ku.vname, ku.nname
        FROM ticket AS t
        JOIN priority AS p ON t.priority = p.id
        JOIN status AS s ON t.status = s.id
        JOIN db2.projekte AS k ON t.project = k.id
        JOIN db2.ansprechpartner AS ku ON user.ap_id = ku.id
        WHERE t.id = '3'
        Dieses Stement ist syntaktisch falsch, du kannst nicht auf die Tabelle user (... ON user.ap_id = ku.id) zugreifen, ohne sie explizit oder implizit zu joinen.

        Originally posted by Hagbard-Celine View Post
        Darauf hin habe ich es wie folgt versucht:

        Code:
        SELECT t.id, t.title, FROM_UNIXTIME(t.create_date, '%d.%m.%Y') as create_date, t.description, t.media, FROM_UNIXTIME(t.deadline, '%d.%m.%Y') as deadline, p.priority_name, s.status_name, k.projektname,ku.vname, ku.nname
        FROM ticket AS t, user AS u
        JOIN priority AS p ON t.priority = p.id
        JOIN status AS s ON t.status = s.id
        JOIN db2.projekte AS k ON t.project = k.id
        JOIN db2.ansprechpartner AS ku ON u.ap_id = ku.id
        WHERE t.id = '3'
        Es kommt die Fehlermeldung
        #1054 - Unknown column 't.priority' in 'on clause'
        Das sieht zumindest syntaktisch besser aus, die Feldzuordnung scheint auch zu stimmen.
        Ich würde hier - um Verwechslungen zu vermeiden - für jede Tabelle explizit auch die DB angeben. Also:
        [highlight=sql]
        ...
        FROM db1.ticket AS t, user AS u
        JOIN db1.priority AS p ON t.priority = p.id
        JOIN db1.status AS s ON t.status = s.id
        JOIN db2.projekte AS k ON t.project = k.id
        JOIN db2.ansprechpartner
        ...
        [/highlight]

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X