SQL Äõ¸® Áú¹®ÀÔ´Ï´Ù.

   Á¶È¸ 2710   Ãßõ 0    

안녕하세요.

연구에 사용하는 자료 추출을 위하여 다음과 같은 쿼리를 이용하고 있습니다(PostgreSQL).

CREATE TABLE public.patients_list AS SELECT DISTINCT person_id FROM hlud.condition_occurrence WHERE condition_source_value SIMILAR TO '(A15|A16|A17|A18|A19)%';

SELECT * FROM hlud.condition_occurrence WHERE person_id IN (SELECT person_id FROM public.patients_list);


첫번째 문의입니다)

1번째 줄에서 환자번호를 추출하여 새로운 table을 생성하고, 2번째 줄에서 이 환자목록에 해당하는 자료를 추출하는 방식입니다.

여기서 1번째 줄의 테이블 생성 없이 2번째 줄의 쿼리에 해당 내용을 넣는 방법이 없을지 문의합니다.


두번 문의입니다)

이 쿼리가 MySQL이나 Oracle에서도 동일하게 동작하는지 알고 싶습니다. 


감사합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Å×À̺íÀ» ¸¸µé ÇÊ¿ä°¡ ¾ø¾î º¸ÀÔ´Ï´Ù.
±×³É
SELECT *
FROM hlud.condition_occurrence
WHERE condition_source_value SIMILAR TO '(A15|A16|A17|A18|A19)%';
ÀÌ·¸°Ô Á¶È¸ ÇÏ¸é µË´Ï´Ù.
±èµ¿¼öP 2019-09
SELECT * FROM hlud.condition_occurrence WHERE person_id IN (SELECT DISTINCT person_id FROM hlud.condition_occurrence WHERE condition_source_value SIMILAR TO '(A15|A16|A17|A18|A19)%');

°¡´ÉÇϸé in Äõ¸®º¸´Ù´Â join À» ÇÏ½Ã´Â°Ô ³´½À´Ï´Ù.
MySQL À̳ª Oracle¿¡¼­´Â Á¤±Ô½Ä °Ë»öÀ» ÀÌ¿ëÇÏ¸é µÉ°ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
°ËÁõµÇÁö ¾Ê¾ÒÁö¸¸ ¾Æ·¡¿Í °°Àº Äõ¸® ÀÔ´Ï´Ù.

SELECT *
FROM hlud.condition_occurrence
WHERE regexp_like(condition_source_value, '^(A15|A16|A17|A18|A19)')
º¸Åë ÀӽøñÀûÀ¸·Î Å×ÀÌºí ¸¸µé¾î¼­ Á¶È¸ÇÏ´Â °æ¿ì´Â ¹Ýº¹ÀûÀÎ Á¶°ÇÁ¶È¸°¡ ÀÖ´Â °æ¿ìÀÔ´Ï´Ù. Àú µÎÁÙ·Î ³¡³ª´Â ·ÎÁ÷À̶ó¸é DAP¹ÚÀÎÈ£´Ô Àß Á¤¸®ÇØ ÁֽŴë·Î ¾²½Ã¸é µÉµí Çѵ¥, Ȥ½Ã µÞ ·ÎÁ÷ÀÌ ´õ ÀÖ´ÂÁö ²Ä²ÄÇÑ È®ÀÎÀº ÇÊ¿äÇÒ°Í °°½À´Ï´Ù.
º¯¼±ÁÖ 2019-09
¸ðµç ºÐµé²² °¨»çµå¸³´Ï´Ù.


QnA
Á¦¸ñPage 1179/5667
2015-12   1451990   ¹é¸Þ°¡
2014-05   4913700   Á¤ÀºÁØ1
2008-03   5081   ³ëÁ¤·¡
2007-11   5244   ¹®Á¤ÁØ
2008-02   5080   ¹æÈ¿¹®
2007-03   5125   ±èÈñÁø
2007-05   4479   ¼ÛÀçÈÆ
2007-07   4810   À±½ÂÀÏ
2004-12   8309   À̼ö¹Î
2007-08   4489   À±È£¿ë
2002-12   12673   ±èµ¿Çö
2008-12   4825   ÀåÁØÈ£
2009-01   4940   ±è½Â¿ë
2003-09   10187   ÀÌ¿µ½Ä
2004-10   6504   ¹ÚÂùÀÏ
2005-03   6268   ÃÖ¿µ¿ì
2008-12   4937   ÀüÇö±Ô
2008-12   5297   Çѵ¿ÈÆ
2003-04   11784   ¹ÎºÀ±â
2003-07   8495   ±èÁö¿µ
2003-12   10581   ±è±â¹ü(dc3v)
2005-05   6208   ¹æÈ¿¹®