たとえば、次のような表があります。SQL Case関数を使用して列を生成する
-----------------------------
| ID | Name | OID | Changed |
-----------------------------
| 01 | John | 01 | N |
-----------------------------
| 02 | John | 01 | Y |
-----------------------------
| 03 | Tena | 03 | N |
-----------------------------
上記の表は、4列( "ID"、 "名前"、 "OID" と "変更")を示しています。
「オリジナル」と呼ばれる別の列を生成する必要があります。 異なる行の「変更」が「Y」の場合、その行の値として「Y」が生成され、その行の「OID」値が取得され、その「ID」の新しい列値が同じ行になります"Y"。この
----------------------------------------
| ID | Name | OID | Changed | Original |
----------------------------------------
| 01 | John | 01 | N | Y |
----------------------------------------
| 02 | John | 01 | Y | null |
----------------------------------------
| 03 | Tena | 03 | N | null |
----------------------------------------
ような何かが、私はいくつかのことを試してみましたが、それを動作させることができなかったと私はそれが動作しますが、どのようにあまりにもわからないになるかもしれないケース機能を使用してだと思います。
あなたのご意見をお聞かせください、ありがとうございます。
あなたは自分自身で 'CASE'、ちょうど' LEFT JOIN'テーブルは必要ありません。 – Barmar
@Barmar新しい列はどのように生成されますか? – mSrsF
選択クエリが必要ですか、またはテーブルを更新していますか? – varubi