Datensatz für Datensatz Updaten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bau
befehl
beispielsweise update
code
datensatz
datenstruktur
folgende attribute
folgender code
folgender fehler
folgendes bild
funktioniert danke
hilfe
richtigen status
set
status
tabelle
ticket
update
url
versucht code
-
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 */ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich bin zwar nicht ganz sicher, ob ich deine Datenstruktur richtig verstanden habe, aber falls doch, sollte es so hinhauen:
Ich muss allerdings zugeben, dass ich mir nicht sicher bin, ob der Zugriff auf die ticketid aus der Subquery so funktioniert.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;
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage