我有3個表:SQL更新(幫我)
tbl_indicator grp_nbr, sect_nbr, indicat 1 100 p 2 101 s
tbl_group grp_id, grp_nbr, sect_nbr, indicat 333 1 100 a 555 1 100 p 444 2 101 s 222 2 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
是外鍵到grp_id
的tbl_group
。
在表tbl_indiactor中,對於一組grp_nbr和sect_nbr,有一個指示,對於同一組grp_nbr和sect_nbr,存在正確的指示(555,1,100,p)和垃圾指示(333,1 ,100,a)在表tbl_group中,但這兩個grp_id(333,555)出現在表tbl_orders中。
現在我需要以這樣的方式來更新tbl_order表垃圾grp_id S的關係有正確的grp_id s內更換
輸出應該想:
tbl_orders order_id, grp_id 5000 555 5001 555 5002 555 5003 555 5004 444 5005 444 5006 444
這裏是一個小的變化
tbl_indicator
grp_nbr,sect_nbr,indicat
01 100p中
02 101號第 tbl_group
grp_id,grp_nbr,sect_nbr,indicat
333 01 100一個
555 01 100p中
444 02 101號第 222 2 101Ý 這裏(在tbl_group)grp_id是主鍵
組表(222,22,101,y)中的垃圾數據(指示)grp_nbr有一個字符長度,但tbl_indicat中的grp_nbr有兩個字符長度... 我們該如何處理?
您是否嘗試過其他任何方式,而不是查看常見問題解答或格式指南? – JNK 2012-01-31 17:05:51
我做錯了什麼?對不起.... – 2012-01-31 17:14:05
「有一個正確的指示(333,1,100,p)和一個垃圾指示(555,1,100,a)」 - 如果555是垃圾組,那麼爲什麼你想要輸出替換333與555?您所需的輸出也會用444替換222。看起來您認爲222和333是舊記錄或「垃圾」,因爲它們的指示字段與其相關的tbl_indicator記錄的指示字段不匹配。正確? – 2012-01-31 17:14:16