0
問題を不適切な方法で枠に入れてお詫びしますが、以下でその問題を明確にしたいと思います。私はサンプルデータとしてテーブルの下に持っている場合、それは私の問題複数のチェックに基づいて値をコピーし、SQLを使用して同じテーブル内の他の行の値を入力する方法
を理解するのに役立つことを願っています:
+-----+-----------+------+
| a | b | c |
+-----+-----------+------+
| 100 | Apple | NULL |
| 100 | Orange | 1.05 |
| 101 | Apple | NULL |
| 102 | Apple | NULL |
| 102 | Dont care | NULL |
| 103 | Apple | NULL |
| 103 | Dont care | NULL |
| 103 | Orange | 1.01 |
+-----+-----------+------+
今私はそれが列B =アップルのためのNULLで列Cの値を記入します。値は、同じ列Aの値の列B =オレンジから取得されます。
また、列Aの特定の値について、列B = Appleが列B =オレンジでない場合、列Cの値(列Aと列Bの特定の値の場合= Apple)には列Cの値が代入されます(列Bがオレンジの列Aの次の昇順の値)。
だから私の出力は、次のようになります。
+-----+-----------+------+
| a | b | c |
+-----+-----------+------+
| 100 | Apple | 1.05 |
| 100 | Orange | 1.05 |
| 101 | Apple | 1.01 |
| 102 | Apple | 1.01 |
| 102 | Dont care | NULL |
| 103 | Apple | 1.01 |
| 103 | Dont care | NULL |
| 103 | Orange | 1.01 |
+-----+-----------+------+
おかげ
dbmsは何ですか? –
@vkp MS SQL。私はSSMS 2014を使用しています。 –
'与えられた列Aに対しては列B =オレンジでなければ、次の列B =オレンジに出会うときに列Cの値を入力する必要があります。 –