kostenloser Webspace werbefrei: lima-city


Datensatz für Datensatz Updaten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marius71

    marius71 hat kostenlosen Webspace.

    Hallo Leute,
    ich habe eine Tabelle, welche folgende Attribute enthällt:

    ID
    TicketID
    Status

    ID und TicketID sind immer befüllt. Das Feld Status habe ich allerdings neu hinzugefügt und somit sind noch keine Daten vorhanden.
    Allerdings möchte ich nun mit einem Update-Befehl Datensatz für Datensatz den richtigen Status hinzufügen

    Allerdings weiß ich nicht wie das geht.

    Der befehl, welcher mir für jeden Datensatz anhand der TicketID den richtigen Status selektiert ist folgender:

    SELECT [Name] FROM [icc].[dbo].[Status] as [Status]
    
    JOIN [icc].[dbo].[Ticket] as [Ticket]
    ON [Ticket].[StatusID] = [Status].[StatusID]
    
    JOIN [icc].[dbo].[kifo_mailversand] as [mailversand]
    ON [mailversand].[TicketID] = [Ticket].[TicketID]



    Nur wie baue ich diesen in einen Update-Befehl ein? Ich kriege ja direkt alle Datensätze zurück gegeben, allerdings brauche ich ja im Update Datensatz für Datensatz einen dazugehörigen Status.

    Also beispielsweise Update Tabelle set Status = /* und hier der dazugehörige Status */
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ich bin zwar nicht ganz sicher, ob ich deine Datenstruktur richtig verstanden habe, aber falls doch, sollte es so hinhauen:
    update tabelle
       set status = (SELECT [Name] FROM [icc].[dbo].[Status] as [Status]
    
    			JOIN [icc].[dbo].[Ticket] as [Ticket]
    			ON [Ticket].[StatusID] = [Status].[StatusID]
    
    			JOIN [icc].[dbo].[kifo_mailversand] as [mailversand]
    			ON [mailversand].[TicketID] = [Ticket].[TicketID]
    		)
       where tabelle.ticketid = status.tickedid;
    Ich muss allerdings zugeben, dass ich mir nicht sicher bin, ob der Zugriff auf die ticketid aus der Subquery so funktioniert.
  4. Autor dieses Themas

    marius71

    marius71 hat kostenlosen Webspace.

    Danke für deine Hilfe nur leider funktioniert es noch nicht.
    Damit man die Struktur besser versteht füge ich folgendes Bild bei:

    http://img641.imageshack.us/i/sqlf.png/

    Ich habe es mit deiner Hilfe wie folgt versucht:

    update [icc].[dbo].[kifo_mailversand]
       set status = (SELECT [Name] FROM [icc].[dbo].[Status] as [Status]
    
    			JOIN [icc].[dbo].[Ticket] as [Ticket]
    			ON [Ticket].[StatusID] = [Status].[StatusID]
    
    			JOIN [icc].[dbo].[kifo_mailversand] as [mailversand]
    			ON [mailversand].[TicketID] = [Ticket].[TicketID]
    		)
    where [icc].[dbo].[kifo_mailversand].[ticketid] = [Ticket].[ticketid];


    die TicketId der kifo_mailversand tabelle ist mit der, der Ticket Tabelle verknüpft, deshalb unten die kleine Änderung.

    Allerdings folgender Fehler:

    Der mehrteilige Bezeichner "Ticket.ticketid" konnte nicht gebunden werden.

    Beitrag zuletzt geändert: 7.3.2011 19:25:47 von marius71
  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!