0
我需要有條件地更新SQL-Server表中的字段。該字段包含各種狀態類型的單字母指示符,全部在該字段中。例如「I」代表被保險人,「O」代表其他被保險人,「H」代表健康保險合同等,但是作爲一種複合物一起使用。該字段可能不包含任何內容,任何字母或全部字母。例如「IHO」或「HOI」或「O」或「OI」等。但是,任何給定的單個字母在字段中都不應出現一次以上。使用SQL Update語句插入條件文本字段字符
應用程序正在通過一組基於唯一ID的記錄運行,並且只是根據記錄的唯一ID更新此字段。是否有可能在單個SQL Update語句中完成以下操作:
「如果此字段中已有'I',請不要執行任何操作;否則,請將」I「添加到現有一套信件。「
...如果是的話(當然),那個Update語句是什麼樣的?
我遠離SQL專家(顯然),所以請溫柔。 :)
這工作,但並沒有解決在一列中存儲多個值的基本設計問題。由於客戶(?)和狀態之間似乎存在1:N關係,因此最好通過爲狀態添加第二個表來修復設計:更易於查詢,更容易添加新狀態,並且可能還會提高性能。 – Pondlife 2010-07-28 10:13:13
我的想法。像上面那樣的查詢可用於將數據拉出到另一個表中並對字段進行規範化: INSERT INTO WidgetStatus(WidgetID,Status) SELECT UniqueID,'I'FROM MyTable WHERE CHARINDEX('I',StatusTypes)> 0 – SteveCav 2010-07-28 22:37:14
Ponlife和SteveCav - 完全同意,但這不是我的數據庫。這是一個我無法改變的垂直應用,需要寫入/整合。 – Jamo 2010-08-04 04:23:04