У меня есть опросная таблица, где кому-то задают примерно 5 вопросов. 4 из этих вопросов - это одни и те же вопросы, но варианты их ответов различны, поскольку они должны были понять свою покупку.
Вот вопросы:
ID Question qid Answer
101005 what brands did you purchase the past 5 months 1 Coca-Cola or Pepsi or Dr.Pepper
101005 what brands did you purchase the past 5 months 1 Dr.Pepper
101005 what brands did you purchase the past 5 months 1 store brand
101005 what brands did you purchase the past 5 months 1 Coca-Cola
101005 how many people live in your house 4 4
101005 what is your prefer retailers 8 walmart
Цель состоит в том, чтобы создать четыре дополнительных столбца на основе их ответа, и им будет присвоено 1 или 0. Поскольку ответ этого человека - кока-кола, я хочу назначить их в столбце current_buyer и дать им 1, а 0 будет столбцом new_buyer. Я также хочу убедиться, что, хотя он отвечает доктору Пепперу во втором ряду, он все равно распознает его как current_buyer. На одном дыхании я хочу назначить этому человеку 1 в 3-м столбце в качестве пьющего и 0 4-й столбец в перспективе.
Вот как должна выглядеть таблица
ID Question qid answer Current_buyer New_buyer drinker prospect
101005 what brands did you purchase the past 5 months 1 Coca-Cola or Pepsi or Dr.Pepper 1 0 1 0
101005 what brands did you purchase the past 5 months 1 Dr.Pepper 1 0 1 0
101005 how many people live in your house 4 4 1 0 1 0
Цель состоит в том, чтобы узнать, купили ли ID кока-колу за последние 5 месяцев, они являются текущим покупателем (1) и пьяницей (1) и будут иметь (0) для new_buyer и проспекта во всем своем профиле.
Здесь это код, который я пробую:
select ID,qid,question,answer,s_date,
Case when Sum(Case when [answer] like'%coca-cola%' then 1 else 0 end)>=1 then 1
else 0 end current_buyer
,Case when Sum(Case when [answer] like'%coca-cola%' then 1 else 0 end)=0 then 1
else 0 end New_buyer
,Case when Sum(Case when [answer] like'%coca-cola,Dr.pepper,pepsi%' then 1 else 0 end)>=1 then 1
else 0 end drinker
,Case when Sum(Case when [answer] like'%coca-cola,Dr.pepper,pepsi%' then 1 else 0 end)=0 then 1
else 0 end Prospect
К сожалению, используя этот код, я получаю 0 в столбце пьющего, хотя люди выбирают кока-колу. Любая помощь будет оценена.