私は2つのテーブルを持っています。表1は、さまざまな個人用の列を備えた基本的な「連絡先」形式の表です。表1のフィールドの1つは、表2を参照するルックアップ列です。新しい列を作成するか、表2の実際のルックアップ値を使用して表1に空の列を設定します。これを行う最も効率的な方法は何ですかMSSQLでは、処理時間、つまり多数の行について最小化されていますか?ルックアップ値を使用するテーブルを逆正規化しますか?
答えて
次のコードは動作します:
update dbo.MyContacts
set StateAbbreviation = S.StateAbbreviation
from dbo.MyContacts C
inner
join States S
on C.State = S.StateId
正しい構文は次のようになります。
update c
set StateAbbreviation = S.StateAbbreviation
from dbo.MyContacts C inner join
States S
on C.State = S.StateId;
はupdate
の別名の使用に注意してください。テーブル名を使用すると、更新中のテーブルとFROM
句で参照されているテーブルの間にリンクがないため、テーブル内のすべての行が任意の値で更新されます。
しかし、すべての行を更新したかった。ヌルのエイリアスですか?私が従うかわからない私の場合、フィールドはnullではありません。 –
@CurtisWhite。 。 。私はその考えを終わらせなかったことを実感します。 –
使用するファクトは多くありませんが、新しい列を追加した後に、その列に値を設定するためにcteを使用できます。
ALTER TABLE table1
ADD newcol varchar(50);
WITH
cte AS (
SELECT
table1.id
, table1.newcol
, table2.name AS newcol_value
FROM table1
INNER JOIN table2 ON table1.table2_fk = table2.id
)
UPDATE cte
SET newcol = newcol_value
;
私の推測では、あなたは、これはどこかで、パフォーマンスを向上させることを望んでいるが、あなたは今、他の方法であなたの費用がかかります。この新しい列を維持する必要があります。
注意:最初にそれをテストするなど、
あなたの質問は今解決されましたか?あなたはまだこの答えについて質問がありますか? [help/accepting](https://stackoverflow.com/help/someone-answers)の詳細については、[** Click The Tick **](https://ibb.co/ikqyO6) –
- 1. 正規化を逆にする方法
- 2. rowspanを使用してHTMLテーブルを正規化する
- 3. エンティティフレームワークの逆正規化
- 4. URLを正規化/正規化しますか?
- 5. 特定の文字列の逆正規表現ルックアップ
- 6. テーブルの正規化
- 7. テーブルの正規化
- 8. Railsでbefore_createを使用して多対多テーブルを正規化する
- 9. 逆正規表現または逆正規表現のマッチング
- 10. 行グループ化を使用したSSRSルックアップ
- 11. レイヤ正規化をCNNで使用できますか?
- 12. どのデータベース正規化ツールを使用できますか?
- 13. 非正規化値
- 14. MySQL:不明なタックススラブのテーブルを正規化します
- 15. NHibernateと非正規化テーブル
- 16. SQLテーブルの正規化
- 17. Zscore groupbyを使用してDataframeのカラムを正規化する
- 18. normalizrを使用して正規化データを発行する
- 19. エラーfromJsonを使用してオブジェクトを逆シリアル化しますか?
- 20. 値を正規化することは何を意味しますか?
- 21. 逆ルックアップを使用したKotlinの有効な列挙型ですか?
- 22. すべてのテーブルを正規化する必要がありますか?
- 23. デシリアライザを使用してJacksonで正しくオブジェクトを逆シリアル化する
- 24. 正規表現を使用して値を挿入する
- 25. テストフェーズでドロップアウトを使用したバッチ正規化を使用する
- 26. 正規表現を使用してテーブル値を更新するにはどうすればよいですか?
- 27. DataSetは入力値の範囲を正規化します
- 28. JSONを正規表現で解析し、コレクションに逆シリアル化する
- 29. 正規表現を使用してビデオから値を抽出します。
- 30. ジャンクションからブール値を正しく逆シリアル化できない
をバックアップを持っており、あなたの質問は何ですか? – Blorgbeard
@CurtisWhite、3kの評判で私はあなたが尋ねる方法を知っているが、持っているだろう。サンプルデータと希望する結果を提供してください。私はこの感覚を理解できません "新しい列を作成するか、表1に空の列を設定したい" – Alex