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

   Á¶È¸ 2739   Ãßõ 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
¸ðµç ºÐµé²² °¨»çµå¸³´Ï´Ù.


óÀ½À¸·Î (238,167)
Á¦¸ñ
2CPU : ±¸¸Å 09-23   90   ±è½Â±Ç
2CPU : ÆǸŠ09-23   751   ºí·ç¿µ»ó
2CPU : ÀÚÀ¯°Ô½ÃÆÇ 09-23   407   ½Öcpu
2CPU : QnA 09-23   4819   ½Ãµµ´Ï
2CPU : ÆǸŠ09-23   297   °¡¿Â´©¸®I°­¡¦
2CPU : ÆǸŠ09-23   163   °¡¿Â´©¸®I°­¡¦
2CPU : ÀÚÀ¯°Ô½ÃÆÇ 09-23   235   ¹è°¡³ª¿Ô¾î
2CPU : ÆǸŠ09-23   361   °¡¿Â´©¸®I°­¡¦
2CPU : QnA 09-23   3107   ¹è°¡³ª¿Ô¾î
2CPU : ÆǸŠ09-23   262   °¡¿Â´©¸®I°­¡¦
2CPU : ÆǸŠ09-23   262   °¡¿Â´©¸®I°­¡¦
2CPU : ÆǸŠ09-23   105   ¹ü¾î¸®
2CPU : ÆǸŠ09-23   61   ¹ü¾î¸®
2CPU : ÆǸŠ09-23   58   ¹ü¾î¸®
- (1)
2CPU : ÆǸŠ09-23   285   ±è´ö¿µ