私は2つの列、confid1
とconfid2
を持っています。どちらも同じデータ型です。2列の行を1列の2行に変換する
私は何とかconfid2
をconfid1
に持っていきますが、連結しません。代わりに、confid1
の下に新しい行に挿入します。
オリジナル:として、それは私が探していたものですconfid1
の組み合わせとconfid1
内部confid2
を返し
(SELECT confid1 as ID1 FROM dyndomrun)
UNION
(SELECT confid2 as ID2 FROM dyndomrun)
:
confid1 confid2
AACII1C1 AACII1C2
は、私は、以下のようにUNIONを使用して試してみました以下:
confid1
AACII1C1
AACII1C2
N他のテーブルの列の1つがconfid1
とconfid2
にリンクしていますが、その列はすべて1列で複数行になっています。
今、私は、以下のように、単にコードにpdbcode
を追加し、同じUNION
方法を使用して試してみました:
(SELECT confid1 as id1, conformer.pdbcode from dyndomrun, conformer where dyndomrun.confid1 = conformer.id)
UNION
(SELECT confid2 as id2, conformer.pdbcode from dyndomrun, conformer where dyndomrun.confid1 = conformer.id)
そして、それはように仮定していないときには、重複する「pdbcode」の値を返します。以下の下:
:confid1, pdbcode
AACII1C1 2a4n
AACII1C2 2a4n
私はそれがconfid1
と、以下のようにconfid2
に関連pdbcode
列を選択して返すようにしたいですあなたがサブクエリに組合を移動することができ、また
select *
from dyndomrun ddr
join conformer as c
on c.id in (ddr.confid1, ddr.confid2)
、第二のテーブルにそれを参加:
confid1, pdbcode
AACII1C1 2a4n
AACII1C2 1b87
を使用するように更新。値は通常、一重引用符で囲みます。二重引用符は識別子用であり、特別な場合にのみ必要です。今日のアドバイスとして、[マニュアルの識別子に関する非常に重要な章](http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS)を読んで始めてください。 )。 –
「別のテーブル」の列が、リンクが「AACII1C1」および「AACII1C2」と同時にリンクするのはなぜですか?これ以上の説明がなければ意味をなさない。 –