Я бы делал агрегацию в подзапросах и присоединялся к ним.
SELECT input.productname,
input.quantity input_quantity,
output.quantity output_quantity
FROM (SELECT productname,
sum(qty) quantity
FROM input
GROUP BY productname) input
LEFT JOIN (SELECT productname,
sum(qty) quantity
FROM output
GROUP BY productname) output
ON output.productname = input.productname;
/^joe.*fred.*bill/ : find joe AND fred AND Bill (Joe at start of line)
/fred\|joe : Search for FRED OR JOE
На самом деле я нашел ответ вскоре после того, как я отправил это (да, я действительно гуглил ранее, но не мог определить местоположение его. Вероятно, просто искал неправильно),
Правильное решение
/ (нечто \| панель)
@Paul Betts: канала нужно оставить
Vim поддерживает регулярные выражения путем запуска в командном режиме с '/'.
Так использование чего-то как "/(нечто \| панель)" (как был указан прежде) решит проблему. Хорошо знать, почему это работает и что Вы используете (регулярные выражения).