У меня есть таблица A: (идентификатор int, matchPID char, PID char, set int, num char, QID char, QStatus char)
ID matchPID PID set num QID QStatus
1 00001230 xx123 1 234
2 00001229 xx234 1 214
3 00000054 xx654 1 NULL
4 00012000 xx125 2
5 00A53214 xx321 2
6 00000100 xx213 2
matchPID всегда (00-xxxxxx) x может бытьchar или int.
теперь мне нужно заполнить OID только одним значением для каждого набора в соответствии с [num].
- Если для любого набора существует какое-либо значение в [num], затем заполните OID с PID, где существует [num] для того же набора, и заполните Qstatus = 'fail' в покое.
, поэтому OID может быть заполнен в id 1 или 2. (any1), затем проверьте наименьший matchPID и заполните здесь.таким образом, в этом случае (set1) ожидаемый результат:
ID matchPID PID set num QID QStatus
1 00001230 xx123 1 234 NULL FAIL
2 00001229 xx234 1 214 xx234 NULL
3 00000054 xx654 1 NULL NULL FAIL
- , если для какого-либо набора не найдено ни одного [num], тогда выберите наименьший matchPID и заполните QID с PID, а остальные не пройдут.
обратите внимание, что matchPID начинается с 00, а затем может быть 0> 1> 2> ..> A> B> C> .... поэтому ожидаемый результат для set2:
ID matchPID PID set num QID QStatus
4 00012000 xx125 2 NULL NULL FAIL
5 00A53214 xx321 2 NULL NULL FAIL
6 00000100 xx213 2 NULL xx213 NULL
Спасибо