Добавление веса / оценки к записи

#sql

#sql

Вопрос:

У меня есть таблица клиентов с почтовыми адресами. Я пытаюсь добавить «вес» каждому клиенту в зависимости от того, делятся ли они этим адресом с другими клиентами, следующим образом:

 UPDATE
   CT 
SET
   Household_Weight = Cnt 
FROM
   CT 
   INNER JOIN
      (
         SELECT
            Mail_Address,
            COUNT(*) AS Cnt 
         FROM
            CT 
         GROUP BY
            Mail_Address
      )
  

Любой совет?

Комментарии:

1. Когда вы группируете по — у вас всегда есть ключ разрыва уровня и общее количество. Вы не можете установить значение 1 столбца равным 2

2. Пометьте свой вопрос базой данных, которую вы используете.

Ответ №1:

Как насчет использования подзапроса?

 update ct
    set Household_Weight = (SELECT COUNT(*) AS Cnt FROM CT CT2 WHERE ct2.Mail_Address = ct.Mail_Address);
  

Не все базы данных поддерживают FROM in UPDATE .

Комментарии:

1. Формулировка вопроса неясна. Кто знает, существует ли Mail_Address вообще на ct! 😉