Nếu tôi hiểu câu hỏi của bạn một cách chính xác, để trả lời phần chỉ quay lại một hướng, vui lòng thử truy vấn bên dưới:
SELECT d1.*
FROM train_schedule d1
INNER JOIN train_schedule d2 ON d2.train_no=d1.train_no
WHERE d1.stn_code = 'JU' and d2.stn_code = 'JP'
AND d1.distance < d2.distance
JU (khởi hành) sẽ luôn có khoảng cách nhỏ hơn JP (đến).