私の研究では、糖尿病と併発する全ての疾患、すなわち、糖尿病とその疾患の両方の医療記録を有する少なくとも1人の患者が列記されていることにより、糖尿病に関連する疾患を見たいと思う。最初に私はこのクエリを試してみます:FROM句を追加すると、メインクエリのサブクエリでWHERE条件の影響が解決されるのはなぜですか?
use [ng_data]
select distinct [disease]
from [dbo].[Final_View_2]
where [encode_id] in
(
select [encode_id]
where [disease] like '%diabetes%'
)
ここで、encode_id
は患者のIDです。しかし、このクエリは、名前に「糖尿病」が含まれている疾患だけを返します。サブクエリの条件がメインクエリの結果に影響するようです。それが正常に動作する
use [ng_data]
select distinct [disease]
from [dbo].[Final_View_2]
where [encode_id] in
(
select [encode_id]
from [dbo].[Final_View_2]
where [disease] like '%diabetes%'
)
:
は、その後、私はこのクエリをしようとします。サブクエリにfrom
句を追加すると、メインクエリでサブクエリのwhere
句の影響を解決できるようです。誰かがクエリの実行方法とそのような結果を生成する理由を説明できますか?私はサブクエリに対するメインクエリの依存によって混乱しています。