Скажем, у меня есть 2 таблицы: клиенты и заказы. У Клиента может быть много заказов.
Теперь мне нужно показать любому Клиенту его последний Заказ. Это означает, что если у Клиента более одного Заказа, отображается только Заказ с самым поздним Временем поступления.
Вот как далеко я справился самостоятельно:
SELECT a.*, b.Id
FROM Customer a INNER JOIN Order b ON b.CustomerID = a.Id
ORDER BY b.EntryTime DESC
Это, конечно, возвращает всех клиентов с одним или несколькими заказами, показывая сначала последний заказ для каждого клиента, а это не то, что я хотел. В этот момент мой разум застрял в колею, поэтому я надеюсь, что кто-то может направить меня в правильном направлении.
По какой-то причине я думаю Мне нужно где-то использовать синтаксис MAX, но он просто ускользает от меня прямо сейчас.
ОБНОВЛЕНИЕ: Пройдя несколько ответов здесь (очень много!), Я понял, что допустил ошибку: я имел в виду любого Клиента с его последней записью. Это значит, что если у него нет ордена, мне не нужно его перечислять.
UPDATE2: Исправлен мой собственный оператор SQL, который, вероятно, не вызывал путаницы среди других.