I've found a number of hits for what I'm trying to do, but only when doing a SELECT
and I haven't been able to get those methods to work with an UPDATE
.
Table: Project
Site | I-Date | Status
Table: Schedule
Site | F-Date | Status
Here's the query I have now, but I want to guarantee that the project date is set only to the MAX date as there could be multiple entries for each site, but with different dates in schedule
.
UPDATE project
INNER JOIN schedule on project.site = schedule.site
SET project.i-date = schedule.f-date, project.status = 'complete'
WHERE project.site = 'site123'
I tried doing this:
UPDATE project
INNER JOIN schedule on project.site = schedule.site
SET project.i-date = MAX(schedule.f-date) as 'f-date', project.status = 'complete'
WHERE project.site = 'site123'
but that didn't work. I suspect I need some different methods of joining but having trouble getting the right mixture.
How about a subselect?
UPDATE project
SET
project.i-date = (
SELECT MAX(f-date)
FROM schedule
WHERE schedule.site = project.site
),
project.status = 'complete'
WHERE project.site = 'site123'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With