Since in your sample data both events (I am assuming event split at date time) have errorCode and errorDescription in different sequences, once errorCode followed by errorDescription and then in other event in vice versa sequence, hence try this below:
1) rex out your error code and error description as multivalue field:
your Base query that returns the above two events
| rex max_match=0 field=_raw "\"errorCode\":\"(?<errorCode>[^\"]+)\""
| rex max_match=0 field=_raw "\"errorDescription\":\"(?<errorDesc>[^\"]+)\""
2) Zip these multivalue fields in myField so you end up with values like myField=(errorCode1,errorDesc1 ) and then expand the field
| eval myField=mvzip( errorCode, errorDesc)
| mvexpand myField
3) Using the "," as delimiter in myField, split up the values again as errC and errD and then table them.
|makemv myField delim=","
| eval errC=mvindex(myField, 0)
| eval errD=mvindex(myField, 1)
| table errC, errD
Full blown query here:
yourBaseQuery
| rex max_match=0 field=_raw "\"errorCode\":\"(?[^\"]+)\""
| rex max_match=0 field=_raw "\"errorDescription\":\"(?[^\"]+)\""
| eval myField=mvzip( errorCode, errorDesc)
| mvexpand myField
|makemv myField delim=","
| eval errC=mvindex(myField, 0)
| eval errD=mvindex(myField, 1)
| table errC, errD
... View more