You seem to ask a lot of these questions. I suggest making yourself familiar with regular expression to understand the answers better and come up with your own solutions. Regular-Expressions.info is a good point to start.
To write a regular expression that matches lines containing your case (i.e. AT after PIPE), you'd use
^.*?\|.*?@
Here ^ means the beginning of the line, .*? matches any characters, but as little as possible, @ is a literal @, and \| is a literal |, just escaped because it has special meaning in regular expressions.
To delete the AT sign, you instruct sed to replace the whole sentence with everything but the AT sign. To do this, you need to store everything you want to keep. Regular expressions manage this with capturing groups. You arrive at
^(.*?\|.*?)@
The sed command you are looking for finally looks like
sed -r 's/^(.*?|.*?)@/\1/'
The command "s" stand for substitute, the regular expression we have created is between the first pair of / (with the brackets and backslash being escaped). The text to replace the match with is the \1 behind that and stands for the content of the first capturing group. Since we did not capture the AT, that should do the trick.
Hope to have helped. Since I have no sed here, this may or may not work without modifications. =)