首页 > 解决方案 > 如何获取内部联接的第一个实例以在 SQL Server 中执行“选择”?

问题描述

到目前为止,这是我的 SQL 语句

INSERT INTO RegisteredDonors (firstname,
                              lastname,
                              organization,
                              OrganizationType,
                              OrganizationGroup,
                              OrganizationField1,
                              OrganizationField2,
                              OrganizationOther,
                              Website,
                              PrimaryEmail,
                              AltEmail,
                              PrimaryPhone,
                              PrimaryPhoneName,
                              AltPhone,
                              AltPhoneName,
                              FaxNumber,
                              BillingFirstName,
                              BillingLastName,
                              BillingCompany,
                              BillingAddressLine1,
                              BillingAddressLine2,
                              BillingCity,
                              BillingPostalCode,
                              BillingState,
                              BillingCountry,
                              ShippingFirstName,
                              ShippingLastName,
                              ShippingCompany,
                              ShippingAddressLine1,
                              ShippingAddressLine2,
                              ShippingCity,
                              ShippingPostalCode,
                              ShippingState,
                              ShippingCountry,
                              DateAdded,
                              DonorStatusCode,
                              qbId,
                              CreatedBy)

SELECT firstname,
       lastname,
       organization,
       organization_type,
       organization_group,
       organization_field_1,
       organization_field_2,
       organization_other,
       organization_website,
       email,
       email_alt,
       telephone,
       telephone_name,
       telephone_alt,
       telephone_alt_name,
       fax,
       payment_firstname,
       payment_lastname,
       payment_company,
       payment_address_1,
       payment_address_2,
       payment_city,
       payment_postcode,
       payment_zone,
       payment_country,
       shipping_firstname,
       shipping_lastname,
       shipping_company,
       shipping_address_1,
       shipping_address_2,
       shipping_city,
       shipping_postcode,
       shipping_zone,
       shipping_country,
       GETDATE()  as CreateDate,
       1          as DonorStatusCode,
       qb.Id,
       'Me' as CreatedBy
FROM 
    cart_order co
INNER JOIN
    qb_customers qb ON (co.organization + ' (' + co.payment_zone + ')') = qb.FullyQualifiedName
ORDER BY
    co.order_id DESC

如何获得内部联接以从 cart_order 返回第一行结果?我正在使用 SQL Server (Azure),但我无法弄清楚这一点。我查看了这个 StackOverflow 答案,我不确定它是否在这里正确应用。

SQL Left Join 仅第一个匹配项

谢谢!

标签: sqlsql-server

解决方案


您可以使用top (1)

select top (1) . . .
from cart_order co inner join
    qb_customers qb
    on co.organization + ' (' + co.payment_zone + ')') = qb.FullyQualifiedName
order by co.order_id desc

推荐阅读