我正在尝试更新DESC组中最小值的MD_ID列。
例如,我希望所有的行desc =语言使md_id = 21作为min(21,163,287)= 21。为了简化,它始终是与源=1。
数据看起来像这样:
MD_ID|SOURCE|DESC |MSG |SEGMNT|FIELD
21 |1 |Language |A11 |PID |33
163 |2 |Language |A11 |PID |33
287 |3 |Language |A11 |PID |33
22 |1 |Sex |B22 |MSH |8
145 |2 |Sex |B22 |MSH |8
171 |3 |Sex |B22 |MSH |8
23 |1 |Marital Status |C33 |NK1 |16
145 |2 |Marital Status |C33 |NK1 |16
289 |3 |Marital Status |C33 |NK1 |1
24 |1 |Religion |D44 |GT1 |7
167 |2 |Religion |D44 |GT1 |7
292 |3 |Religion |D44 |GT1 |7
我需要看起来像这样:
MD_ID|SOURCE|DESC |MSG |SEGMNT|FIELD
21 |1 |Language |A11 |PID |33
21 |2 |Language |A11 |PID |33
21 |3 |Language |A11 |PID |33
22 |1 |Sex |B22 |MSH |8
22 |2 |Sex |B22 |MSH |8
22 |3 |Sex |B22 |MSH |8
23 |1 |Marital Status |C33 |NK1 |16
23 |2 |Marital Status |C33 |NK1 |16
23 |3 |Marital Status |C33 |NK1 |1
24 |1 |Religion |D44 |GT1 |7
24 |2 |Religion |D44 |GT1 |7
24 |3 |Religion |D44 |GT1 |7
UPDATE YourTable t
SET MD_ID = (SELECT MD_ID
FROM YourTable t2
WHERE t2.DESC = t.DESC
AND t2.SOURCE = 1)