Я думаю суть будет понятна - соединяем таблицы left join-ом и если значение в первом случае NULL то берем другое значение. Если типов сообщений будет больше чем 2, используйте оператор
coalesce select
[ id пользователя]
ISNULL(U.ID, system.id] as [ID сообщения]
from tbl_notice N
left join user U ON U.ID=N.[id сообщения] and type="user"
left join Systems S ON S.ID=N.[id сообщения] and type="System"
P.S. Поздно увидел что вопрос для MYSQL, но для MS SQL работать будет точно.