Ich bin neu hier wieder. Ich sage es noch einmal, weil mein erstes Intro zu SQL 1992 auf einem AS400 war.IF EXISTS INSERT ELSE UPDATE Vermeidung von Dubletten mit 3 Tabellen
Ich weiß, dass es ein paar ähnliche Beiträge gab. Ich habe versucht, Ideen von jedem zu bekommen, um mein Problem zu lösen, aber wenig bis keinen Erfolg. Hier ist, was ich versuche zu tun. Es gibt 3 Tische. Zwei Quellentabellen und eine Zieltabelle. Quelltabellen sind Tickets und TicketEntities und die Zieltabelle ist DelTimes.
Tickets
hat Spalten:
(Id (primary), TicketNumber, LastUpdateTime and LastOrderDate, DepartmentId)
TicketEntities
hat Spalten:
(Ticket_Id, EntityTypeId, EntityName)
Zieltabelle DelTimes
hat:
(TicketId, TicketNo, TicketDate, LOTime, LOMinutes, DriverNam)
Die lastOrderDate
und LastUpdateTime
sind Datum und Uhrzeit Combin ed, dass ich Informationen aus der Verwendung von Convert extrahieren muss.
Hier ist, was ich bisher mit Fehler mehrteilige Kennung Probleme habe.
IF EXISTS (SELECT * FROM Tickets, TicketEntities Where Tickets.DepartmentId = 2 and EntityTypeId = 3)
UPDATE DelTimes
SET TicketId =Tickets.Id,
DelTimes.TicketNo = Tickets.TicketNumber,
DelTimes.TicketDate = CONVERT(Date,Tickets.LastOrderDate,5),
DelTimes.LOTime = Convert(datetime,Tickets.LastOrderDate,8),
DelTimes.LOMinutes = DATEDIFF(minute,Tickets.LastOrderDate,Tickets.LastUpdateTime),
DelTimes.DriverNam = TicketEntities.EntityName
ELSE
INSERT INTO DelTimes (TicketId, TicketNo, TicketDate, LOTime, LOMinutes, DriverNam)
VALUES (Id, TicketNumber, CONVERT(Date,LastOrderDate,5),
Convert(datetime,LastOrderDate,8),
DATEDIFF(minute,LastOrderDate,LastUpdateTime),
EntityName)
Ihre Hilfe bei der Lösung dieses Problems wird geschätzt!
Formatcode. Mehr Menschen werden versuchen und helfen. – freakyhat
Es sieht nicht wie andere Beiträge aus Wie wird das gemacht? – MichaelM
Mit 4 Räumen. Ich werde es für Sie bearbeiten. –