Ich habe die folgende Abfrage:Wie trete ich Tabellen an einem Update
select count(L.ID)
from LA inner join L on (LA.leadid = L.ID)
where L.status = 5
and L.city = "cityname"
and Date(LA.Datetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
die für Datensätze mit Status 5 in einer bestimmten Stadt sucht, die älter als 6 Monate (das Datum, für das in LA gespeichert). Dies ergibt ungefähr 4k Ergebnisse. Ich möchte den Wert des Status 1 auf jedem dieser Datensätze aktualisieren, und so mein Update wie folgt aussieht:
update L, LA
set L.status = 1
where L.status = 5
and L.city = "cityname"
and Date(LA.SomeDatetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
aber es Stände und sperrt den db. Ich vermute, es ist ein Problem, weil es keine beitreten, aber ich versuche, so etwas wie:
update L, LA
from L inner join LA on (L.OID = LA.leadid)
set L.status = 1
where L.status = 5
and L.syscity = "cityname"
and Date(LA.SomeDatetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
und es wird offensichtlich nicht funktionieren, da es keine ‚von‘ in einem Update.
bearbeiten> Ich verwende MySQL
Welche DB verwenden Sie? – geofftnz