相关疑难解决方法(0)

SQL Server:如何加入第一行

我将使用一个具体的,但假设的例子.

每个订单通常只有一个订单项:

命令:

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)

sql t-sql sql-server sql-server-2000

718
推荐指数
9
解决办法
52万
查看次数

使用左连接选择一对多关系中的第一条记录

我正在尝试使用左连接来连接两个表.结果集必须只包含"右"连接表中的第一条记录.

可以说我有两张表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)

sql left-join

42
推荐指数
5
解决办法
7万
查看次数

标签 统计

sql ×2

left-join ×1

sql-server ×1

sql-server-2000 ×1

t-sql ×1