SQL Server: как присоединиться к первой строке

Я буду использовать конкретный, но гипотетический пример.

каждыйпорядок обычно есть только одинпозиция:

Заказы:

OrderGUID   OrderNumber
=========   ============
{FFB2...}   STL-7442-1      
{3EC6...}   MPT-9931-8A

Позиции:

LineItemGUID   Order ID Quantity   Description
============   ======== ========   =================================
{098FBE3...}   1        7          prefabulated amulite
{1609B09...}   2        32         spurving bearing

Но иногда будет заказ с двумя позициями:

LineItemID   Order ID    Quantity   Description
==========   ========    ========   =================================
{A58A1...}   6,784,329   5          pentametric fan
{0E9BC...}   6,784,329   5          differential girdlespring 

Обычно при отображении заказов пользователю:

SELECT Orders.OrderNumber, LineItems.Quantity, LineItems.Description
FROM Orders
    INNER JOIN LineItems 
    ON Orders.OrderID = LineItems.OrderID

Я хочу показать один элемент в заказе. Но с этим случайным заказом, содержащим два (или более) товара, заказыпоявиться бытьдублируется:

OrderNumber   Quantity   Description
===========   ========   ====================
STL-7442-1    7          prefabulated amulite
MPT-9931-8A   32         spurving bearing
KSG-0619-81   5          panametric fan
KSG-0619-81   5          differential girdlespring

Что я действительно хочу, так это иметь SQL Serverпросто выберите одинкак будетдостаточно хорошо:

OrderNumber   Quantity   Description
===========   ========   ====================
STL-7442-1    7          prefabulated amulite
MPT-9931-8A   32         differential girdlespring
KSG-0619-81   5          panametric fan

Если я предприму приключение, я мог бы показать пользователю многоточие, чтобы указать, что их больше одного:

OrderNumber   Quantity   Description
===========   ========   ====================
STL-7442-1    7          prefabulated amulite
MPT-9931-8A   32         differential girdlespring
KSG-0619-81   5          panametric fan, ...

Так что вопрос в том, как

устранить "дублирующиеся" строкитолько присоединиться к одной из строк, чтобы избежать дублированияПервая попытка

Моей первой наивной попыткой было присоединиться только кТОП 1" позиции:

SELECT Orders.OrderNumber, LineItems.Quantity, LineItems.Description
FROM Orders
    INNER JOIN (
       SELECT TOP 1 LineItems.Quantity, LineItems.Description
       FROM LineItems
       WHERE LineItems.OrderID = Orders.OrderID) LineItems2
    ON 1=1

Но это дает ошибку:

Столбец или префикс «Заказы» не
совпадать с именем таблицы или псевдонимом
используется в запросе.

Предположительно, потому что внутренний выбор не видит внешнюю таблицу.

Ответы на вопрос(11)

Ваш ответ на вопрос