で自己結合:私はしたい、つまり私はこのテーブルを持っている別個の値
name code value
--------------------------
| john | 0001 | 1 |
| john | 0002 | NULL |
| mary | 0001 | 2 |
| mary | 0002 | 3 |
:
name code value
--------------------------
| john | 0001 | 1 |
| mary | 0001 | 2 |
| mary | 0002 | 3 |
私が達成したいと思いますこれは何のように見える結果セットです結果はの0002
のjohn
の行を含んでいますが、これはテーブルにはありません。
私はこのような何かが近い私を得ているだろうと思っているだろう。いくつかの追加的な思考は、その結論に私をもたらした
name code value value1
-------------------------- --------
| john | 0001 | 1 | 1 |
| mary | 0001 | 2 | 2 |
| mary | 0002 | 3 | 3 |
:
with x as (select distinct code from t)
select * from t left join x on x.code = t.code
が、どのような私が手を本質的に同じテーブルでありますname
もおそらくNULL
であろうから、私の解決策はとにかくうまくいかないだろう。
私は困惑していますが、これは実際よりも簡単です。
誰でも光を当てることはできますか?
それ右が参加(または交換xとt二行目: 'x.code = t.code'上のx左共同トンから選択*)してください、私は前に試した – joop
@joopが、それはdidnの仕事はありません。 –