我将使用一个具体的,但假设的例子.
每个订单通常只有一个订单项:
命令:
OrderGUID OrderNumber
========= ============
{FFB2...} STL-7442-1
{3EC6...} MPT-9931-8A
Run Code Online (Sandbox Code Playgroud)
了LineItem:
LineItemGUID Order ID Quantity Description
============ ======== ======== =================================
{098FBE3...} 1 7 prefabulated amulite
{1609B09...} 2 32 spurving bearing
Run Code Online (Sandbox Code Playgroud)
但偶尔会有一个包含两个订单项的订单:
LineItemID Order ID Quantity Description
========== ======== ======== =================================
{A58A1...} 6,784,329 5 pentametric fan
{0E9BC...} 6,784,329 5 differential girdlespring
Run Code Online (Sandbox Code Playgroud)
通常在向用户显示订单时:
SELECT Orders.OrderNumber, LineItems.Quantity, LineItems.Description
FROM Orders
INNER JOIN LineItems
ON Orders.OrderID = LineItems.OrderID
Run Code Online (Sandbox Code Playgroud)
我想在订单上显示单个项目.但是,由于此偶尔包含两个(或更多)商品的订单,订单将显示为重复:
OrderNumber Quantity Description
=========== ======== ==================== …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用左连接来连接两个表.结果集必须只包含"右"连接表中的第一条记录.
可以说我有两张表A和B如下;
表"A"
code | emp_no
101 | 12222
102 | 23333
103 | 34444
104 | 45555
105 | 56666
Run Code Online (Sandbox Code Playgroud)
表"B"
code | city | county
101 | Glen Oaks | Queens
101 | Astoria | Queens
101 | Flushing | Queens
102 | Ridgewood | Brooklyn
103 | Bayside | New York
Run Code Online (Sandbox Code Playgroud)
预期产出:
code | emp_no | city | county
101 | 12222 | Glen Oaks | Queens
102 | 23333 | Ridgewood | Brooklyn
103 | 34444 …Run Code Online (Sandbox Code Playgroud)