Compare selected columns from a file and print difference

I have learned file comparison from my previous post here. Then, it is comparing the whole line. Now, i have a new problem.
I have two files with 3 columns separated with a "|". What i want to do is to compare the second and third column of file 1, and the second and third column of file 2. And print the whole line (including the first column) with difference in a new file. Thanks!

Can you give me one example....

File 1

ADG | 234 | 345
ADG | 567 | 789
DJG | 324 | 321 

File 2

ADG | 235 | 345
ADG | 567 | 789
DJG | 324 | 320

Output:
"FROM FILE 1"

ADG | 234 | 345
DJG | 324 | 321

"FROM FILE 2"

ADG | 235 | 345
DJG | 324 | 320

To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags

```text
 and 
```

by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums

---------- Post updated at 06:02 PM ---------- Previous update was at 05:41 PM ----------

nawk -f king.awk file1 file

king.awk:

BEGIN {
  FS=" *[|] *"
  OFS="|"
}
{ idx =$2 OFS $3}
FNR==NR {
   f1[idx]= $0
   next
}
idx in f1 { delete f1[idx];next}
1
END {
  for(i in f1)
    print f1
}

Thanks! But is there a shorter code for this?