私はINTERNAMENTOとDOC_ADMISSAO2という2つのテーブルを持っています。ORACLE SQL:別の列に基づいてテーブルを更新する方法は?
- 00000 - "single-row subquery returns more than one row"
何かアドバイス:私は
update INTERNAMENTO a
set a.DIASINTERNAMENTO = (
select b.DIASADMISSAO
from DOC_ADMISSAO2 b
where (a.EPISODIO = b.EPISODIO) AND (a.DATACRIACAO <= b.DATACRIACAO));
..いくつかの条件で、DOC_ADMISSAO2はDIASADMISSAOと呼ばれるテーブルの同じ値を持つ名前のDIASINTERNAMENTO INTERNAMENTOテーブルの列を更新したいそれは私にエラーを与えて?
どちらかあなたはwhere句常に単一の行を取得したり、b.DIASADMISSAOに凝集を使用する(IEに基準を追加する必要がありますMAX(b.DIASADMISSAO)) – Turo
ゴードンが提供したばかりのものに加えて、あなたのテーブルには様々な患者の「入院」と「入院」の詳細が表示されていると思われます。 where句でpatient_idを同じにする必要はありませんか? – mathguy