devotionMedlem sedan jan. 20013 582 inlägg Hej :)
Jag har en update enligt följande:
UPDATE tblTask
SET CustomT2 = [b]c.[Category][/b], Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.CustomerNr = c.[Nr]
INNER
JOIN tblUsers u
ON t.UserSign = u.[Sign]
INNER
JOIN tblWorkGroups wg
ON u.GroupId = wg.[Id]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
AND wg.[Id] <> 10002
Dvs uppdatera alla poster där datumet är gårdagens och där tblWorkGroup.Id INTE ÄR 10002
Jag vill lägga till att uppdatera även de poster där tblWorkGroup.Id ÄR 10002 enligt:
UPDATE tblTask
SET CustomT2 = [b]wg.[Name][/b], Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.CustomerNr = c.[Nr]
INNER
JOIN tblUsers u
ON t.UserSign = u.[Sign]
INNER
JOIN tblWorkGroups wg
ON u.GroupId = wg.[Id]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
AND wg.[Id] = 10002
Kan man göra detta i samma update? :)
Mvh
Henrik
drewMedlem sedan mars 2007845 inlägg Om det ska vara datum gårdagen på dom som är grupp 10002 så räcker det med att ta bord AND wg.[Id] <> 10002
Annars ändrar du till OR wg.[Id] = 10002
Peter SMedlem sedan dec. 20025 483 inlägg UPDATE tblTask
SET CustomT2 = case when wg.id = 10002 then wg.[Name] else c.category end, Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.CustomerNr = c.[Nr]
INNER
JOIN tblUsers u
ON t.UserSign = u.[Sign]
INNER
JOIN tblWorkGroups wg
ON u.GroupId = wg.[Id]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
devotionMedlem sedan jan. 20013 582 inlägg
Peter S skrev:
UPDATE tblTask
SET CustomT2 = case when wg.id = 10002 then wg.[Name] else c.category end, Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.CustomerNr = c.[Nr]
INNER
JOIN tblUsers u
ON t.UserSign = u.[Sign]
INNER
JOIN tblWorkGroups wg
ON u.GroupId = wg.[Id]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
Kan man använda case till flera villkor?
Typ:
SET CustomT2 = case when wg.id IN (10002, 10004) then wg.[Name] case when wg.id IN (20001, 20002 then c.category end, Modified = GETDATE()
Mvh
Henrik
Peter SMedlem sedan dec. 20025 483 inlägg Üngefär
UPDATE tblTask
SET CustomT2 = case when wg.id in (10002,10004) then wg.[Name] when wg.id in (20001,20002) then wg.name2 else c.category end, Modified = GETDATE()
FROM tblTask t
INNER
JOIN tblCustomer c
ON t.CustomerNr = c.[Nr]
INNER
JOIN tblUsers u
ON t.UserSign = u.[Sign]
INNER
JOIN tblWorkGroups wg
ON u.GroupId = wg.[Id]
WHERE DATEDIFF(d, t.planstartdate, GETDATE()) = 1
devotionMedlem sedan jan. 20013 582 inlägg Hmmm
Hur gör jag följande:
UPDATE tblTask
SET CustomT2 = case when wg.id in (77711,77715,77717,77720,77711) then c.category when wg.id in (77719) then wg.Name else 'GÖR-INGENTING' end, Modified = GETDATE()
Mvh
henrik
Peter SMedlem sedan dec. 20025 483 inlägg UPDATE tblTask
SET CustomT2 = case when wg.id in (77711,77715,77717,77720,77711) then c.category when wg.id in (77719) then wg.Name else CustomT2 end, Modified = GETDATE()