Дополнительная строка для оператора SELECT, кросс-таблица? Access 2007 - PullRequest
1 голос
/ 24 августа 2011

Я работаю с некоторыми людьми из биостатов и, конечно, они любят SAS. У меня есть нижеприведенное утверждение, которое работает для проверки наличия определенных проблем, которые могут возникнуть у человека. Это двоичная вещь, поэтому они либо делают, либо нет. Если у человека проблемы с сердцем и респираторным заболеванием, его идентификатор пациента будет указан дважды. Как я могу добавить дополнительный столбец 1 или 0 для каждой заболеваемости? Итак, если у меня есть три проблемы, и это «СЕРДЦЕ», «LUNG» и «UTI», будет сгенерирован дополнительный столбец, который имеет 1 или 0, основываясь на том, что у человека была эта проблема или нет.

Полагаю, я могу использовать Excel, чтобы сделать его кросс-таблицей, но в конечном итоге он должен быть в этом формате. Ниже мое утверждение SELECT. Спасибо, ребята!

РЕДАКТИРОВАНИЕ:

TRANSFORM First(Person.PersonID) AS Morbidity
SELECT Person.PersonID, Person.Age, Person.Sex
FROM tblKentuckyCounties INNER JOIN ((tblComorbidity INNER JOIN comorbidVisits ON tblComorbidity.ID = comorbidVisits.comorbidFK) INNER JOIN (Person INNER JOIN tblComorbidityPerson ON Person.PersonID = tblComorbidityPerson.personID) ON tblComorbidity.ID = tblComorbidityPerson.comorbidityFK) ON tblKentuckyCounties.ID = Person.County
WHERE (((tblComorbidity.comorbidityexplanation)="anxiety and depression" Or (tblComorbidity.comorbidityexplanation)="heart" Or (tblComorbidity.comorbidityexplanation)="hypertension" Or (tblComorbidity.comorbidityexplanation)="pressure sores" Or (tblComorbidity.comorbidityexplanation)="tobacco" Or (tblComorbidity.comorbidityexplanation)="uti"))
GROUP BY Person.PersonID, Person.Age, Person.Sex, tblComorbidity.comorbidityexplanation
PIVOT Person.Race;

1 Ответ

2 голосов
/ 24 августа 2011

Это не проверено:

TRANSFORM IIf([c.comorbidityexplanation]=
      [c.comorbidityexplanation],1,0) AS Morbidity
SELECT p.PersonID, p.Age, p.Sex, p.Race
FROM tblKentuckyCounties kc
INNER JOIN ((tblComorbidity c
INNER JOIN comorbidVisits cv
   ON c.ID = cv.comorbidFK) 
INNER JOIN (Person p
INNER JOIN tblComorbidityPerson cp
   ON p.PersonID = cp.personID) 
   ON c.ID = cp.comorbidityFK) 
   ON kc.ID = p.County
GROUP BY p.PersonID, p.Age, p.Sex, p.Race
PIVOT c.comorbidityexplanation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...