В Access 2003 я пытаюсь взять таблицу и, если какой-либо показатель = 1 для ЛЮБОЙ строки данного идентификатора, сделать все строки = 1 для этого идентификатора
Например, если у нас есть:
ID Indicator
Jack 0
Jack 0
Jeff 1
Jeff 0
Mark 1
Mark 1
станет:
ID Indicator
Jack 0
Jack 0
Jeff 1
Jeff 1
Mark 1
Mark 1
Поскольку у Джеффа и Марка есть хотя бы 1 строка с индикатором = 1, я хочу сделать ВСЕ их строки = 1.
Пока это моя попытка, но я продолжаю получать сообщение об ошибке «Операция должна использовать обновляемый запрос» (я думаю, потому что оператор select не является таблицей ... вы не можете обновить запрос)
UPDATE Table1 INNER JOIN (SELECT DISTINCT Table1.ID
FROM Table1
WHERE (((Table1.Indicator)=1)))
List ON Table1.ID =List.ID SET Table1.Indicator = 1;
Какой хороший способ сделать это быстро и эффективно без создания временной таблицы ? Или временная таблица будет лучшим / наиболее эффективным решением? Это немного загромождает мою базу данных, так как есть 8 строк, над которыми я должен сделать это ... таблица, на которой я работаю, составляет ~ 300 МБ.
Спасибо