2016-04-24 2 views
1

Я в настоящее время одержим этой проблемой SQL. У меня есть следующая таблицаИдентификация и маркировка отдельных и нескольких владельцев учетных записей в sql

`account_id` `person` `account_type` 

    001  eric   PH 

    001  lucy   SH 

    002  stacy  PH 

    002  Chris  SH 

    002  Ruud   SH 

    003  Angel  PH 

В таблице показано, что есть люди, которые разделяют account_id например, 001 и 002. Столбец account_type определил, является ли данное лицо основным или вторичным держателем учетной записи.

Люди с account_id 001 и 002 должны получить 1 значение в новом столбце с именем multi-account.

Если человек один владелец счета, значение multi-account должно быть 0.

Ожидаемый результат

account_idpersonaccount_typemulti-account

001  eric  PH    1 

001  lucy  SH    1 

002  stacy  PH    1 

002  Chris  SH    1 

002  Ruud  SH    1 

003  Angel  PH    0 

Как бы вы порекомендовали решить эту проблему в SQL ? Я использую SQL-сервер 2012

+0

Разве вы не задали этот вопрос? –

+1

Покажите нам ожидаемый результат. –

+0

Привет, спасибо Тим, да, я задал вопрос раньше. Но я должен был прояснить некоторые вещи. – mgo

ответ

1

Похоже, вы просто хотите вычислить, какие учетные записи были назначены более чем одному человеку. Если это так, то следующее UPDATE оператор должен сделать трюк:

UPDATE t1 
SET t1.multi-account = CASE WHEN t2.personCount > 1 THEN 1 ELSE 0 END 
FROM accounts AS t1 
INNER JOIN 
(
    SELECT account_id, COUNT(DISTINCT person) AS personCount 
    FROM accounts 
    GROUP BY account_id 
) AS t2 
    ON t1.account_id = t2.account_id 

Этот ответ подразумевает, что у вас уже есть столбец multi-account в таблице. Если нет, то создайте его через:

ALTER TABLE accounts ADD multi-account BIT 
+1

отличный тим, именно то, что я искал. Спасибо за четкую информацию. проголосовали! – mgo

+0

Счастливые помочь. В следующий раз, когда вы зададите вопрос, попробуйте показать пример ввода и вывода. Вы получите ответ намного быстрее. –

+0

сделают, наверняка – mgo

Смежные вопросы