환자의 건강 검진을 나타내는 테이블이 있는데, 검사 ID와 환자 ID가 있습니다.테이블을 업데이트하는 PostgreSQL 커서
행별로 표를 실행하고 모든 환자 ID를 가져 와서 다른 상담을 비교하여 "new_attack"으로 간주되는지 확인하고 싶습니다. 저는 말라리아 질병을 다루고 있으며, 지난 60 일 동안 상담을 받았고 구시대 검사로 양성 반응을 보인 모든 환자와 new_attack = false
, 그렇지 않은 경우 new_attack = true
을 고려합니다.
환자가 건강 검진을받을 수는 있지만 말라리아 검사에 양성 반응을 보이지 않으므로이 테이블을 통과 할 때는 palufalci
열을 고려해야합니다.이 경우에는 new_attack = false
입니다.
CREATE TABLE public.tbl_diagnostiques_guy (
id integer NOT NULL DEFAULT nextval('tbl_diagnostiques_guy_id_seq'::regclass),
dateconsultation date,
numeropatient character varying(13),
palufalci boolean,
new_attack boolean
);
나는 모든 환자의 datediff
2 사이의 건강 진단 계산이 쿼리를 사용 : 여기
SELECT id, numeropatient, palufalci,
dateconsultation, NextDate,
date(NextDate) - date(dateconsultation) as Diff, new_attack
FROM (
SELECT id, numeropatient, palufalci, dateconsultation, new_attack,
(SELECT MIN(dateconsultation)
FROM tbl_diagnostiques_guy T2
WHERE T2.numeropatient = T1.numeropatient
AND T2.dateconsultation > T1.dateconsultation
) AS NextDate
FROM tbl_diagnostiques_guy T1) AS T
WHERE NextDate IS NOT NULL AND (date(NextDate) - date(dateconsultation) < 60)
GROUP BY id, numeropatient, palufalci, dateconsultation, NextDate, new_attack
ORDER BY numeropatient DESC;
을하고 그 결과는 다음과 같습니다 here
이제 테이블을 업데이트하고 원하는 결과를 얻는 방법을 알고 싶습니다.
테이블'tbl_diagnostiques_guy'에 'palufalci' 또는'vivax' 열이 있습니까? 쿼리는 전자를 제안하는 것처럼 보이지만 테이블 정의에는 후자가 있습니다. * 질문을 편집 (질문의 태그 아래 링크 참조) 한 다음 그래픽 링크 대신 텍스트 버전의 출력 (PgAdminIII 파일로 내보내기)을 추가하십시오. – Patrick
안녕하세요, 먼저 내 게시물을 편집 해 주셔서 감사드립니다. 팔 푸르 치 나는 질문을 편집했습니다. –
안녕하세요. 안녕하세요. 안녕하세요. 아래 내 대답을 참조하십시오. 당신의 데이터베이스와 연구에 행운을 빈다, 나는 두 번 나 말라리아를 먹었으므로 좋은 일을 계속 지켜라! – Patrick