tbl_indicator噸-SQL更新問題
grp_nbr, sect_nbr, indicat
0p
002345 101 s
tbl_group
grp_id, grp_nbr, sect_nbr, indicat
333 001987 100 a
555 001987 100 p
444 002987 101 s
222 02987 101 y
這裏(tbl_group
)grp_id
是主鍵
tbl_order
order_id, grp_id
5000 333
5001 555
5002 555
5003 555
5004 444
5005 444
5006 222
在tbl_order
,grp_id
是外部鍵012 在tbl_group
。
在表tbl_indicator
,對於一組grp_nbr
和sect_nbr
存在indicat
,對於同一組的grp_nbr
和sect_nbr
有一個正確indicat
(555,1,100,p)和一個垃圾indicat
(333 1 ,100,a)在表tbl_group
中,但這兩個grp_id
(333,555)存在於表tbl_orders
中。
還有一點這裏的是,在組表(222,02987,101,y)處的grp_nbr
具有比tbl_indicat
的grp_nbr
少一個字符長度的垃圾數據(indicat)。它應該使用'LIKE'運算符
我們該如何處理?
現在我需要以這樣的方式來更新tbl_order
表垃圾grp_id
S的關係有正確grp_id
小號
更換輸出應該想:
tbl_orders
order_id, grp_id
5000 555
5001 555
5002 555
5003 555
5004 444
5005 444
5006 444
我已經有答案,如果tbl_indicat
和tbl_grp
表中的列數據都是相同的......
這是由'博士回答Wily的學徒」
,但如何處理,如果該數據是不同的(如在出發缺少一些字符串)?
歡迎使用StackOverflow:如果您發佈代碼,XML或數據示例,請**在文本編輯器中突出顯示這些行,然後單擊編輯器上的「代碼示例」按鈕(「{}」)工具欄以很好的格式和語法突出顯示它! – 2012-02-02 17:45:36
如果將這些列轉換爲數字並將它們進行數字比較,則可以忽略前導零。你如何確定哪些是「垃圾」記錄? – 2012-02-02 17:52:07
我不能將它轉換爲數字b/c我的一些數據包含字符 – 2012-02-02 17:57:08