Well as far as i know there is no way to mix a select and an insert statement.
you MIGHT be able to use the MAX/MIN(shop.id_num) functions in conjunction with the insert query, but i am not sure.
so either you have to query 2 times:
1.
SELECT num_id FROM shop WHERE yourfield = yourvalue;
2.
INSERT INTO order_line (order_id) VALUES ($num_id);
OR try the following (as i said, not sure wether this works..and would be for the lowest and highest id value only anyway):
INSERT INTO order_line (order_id) VALUES (MAX(shop.id_num))
i hope that helps 🙂