【发布时间】:2013-04-12 10:47:05
【问题描述】:
我认为查询的屏幕截图是不言自明的。
我需要的只是从 CustomerAddresses 表中获取 2 个地址,而不是像本例中那样仅获取 1 个地址。 1 个用于 ShippingAddress,另一个用于 BillingAddress。
听起来很容易解决这个问题,但显然我错过了一些东西。提前谢谢..
【问题讨论】:
标签: sql sql-server join inner-join
我认为查询的屏幕截图是不言自明的。
我需要的只是从 CustomerAddresses 表中获取 2 个地址,而不是像本例中那样仅获取 1 个地址。 1 个用于 ShippingAddress,另一个用于 BillingAddress。
听起来很容易解决这个问题,但显然我错过了一些东西。提前谢谢..
【问题讨论】:
标签: sql sql-server join inner-join
您需要加入包含地址的表两次。一次用于ShippingAddressID,一次用于BillingAddressID:
SELECT
...
ShippingAddress.Address as 'ShippingAddress',
BillingAddress.Address as 'BillingAddress',
...
FROM
...
INNER JOIN CustomerAddresses as ShippingAddress
ON Orders.ShippingAddressID = ShippingAddress.CustomerAddressID
INNER JOIN CustomerAddresses as BillingAddress
ON Orders.BillingAddressID = BillingAddress.CustomerAddressID
【讨论】: