0

我不知道如何问这个问题,甚至不知道如何命名它,所以如果之前有人问过,我很抱歉。

我创建了一个连接来检索我需要的所有信息。有点。

它返回客户 ID 而不是客户表中客户的详细信息:

 SELECT o.orderTotal, o.orderID, oc.productID, oc.quantity, oc.price_per, co.customerID
 FROM tblOrders o
 INNER JOIN tblOrderContents oc ON o.orderID = oc.orderID
 INNER JOIN tblCustomerOrders co ON o.orderID = co.orderID

我的客户表是:

 **tblCustomer**
 customerID
 customerName etc...

我怎样才能让这个查询在同一个 SQL 查询中返回实际的客户信息,例如姓名、地址等,我什至可以这样做吗?

4

3 回答 3

2

只需制作join另一个tblCustomer

SELECT o.orderTotal, o.orderID, oc.productID, oc.quantity, oc.price_per, co.customerID, c.customerName
FROM tblOrders o
INNER JOIN tblOrderContents oc ON o.orderID = oc.orderID
INNER JOIN tblCustomerOrders co ON o.orderID = co.orderID
INNER JOIN tblCustomer c on co.customerID = c.customerID
于 2013-10-24T08:15:09.223 回答
2

通过加入客户表,您可以访问任何字段。因此,只需在 SELECT 子句中添加您想要的字段和附加连接:

SELECT
    o.orderTotal,
    o.orderID,
    oc.productID,
    oc.quantity,
    oc.price_per,
    co.customerID,
    cu.customerName
FROM
    tblOrders o
INNER JOIN
    tblOrderContents oc ON o.orderID = oc.orderID
INNER JOIN
    tblCustomerOrders co ON o.orderID = co.orderID
INNER JOIN
    tblCustomer cu ON cu.customerID = co.customerID
于 2013-10-24T08:15:12.387 回答
0

如果客户的信息在 tblCustomer 中,您可以将查询的结果与此表左连接。

select I.* 
from 
(SELECT o.orderTotal, o.orderID, oc.productID, oc.quantity, oc.price_per, co.customerID
 FROM tblOrders o
 INNER JOIN tblOrderContents oc ON o.orderID = oc.orderID
 INNER JOIN tblCustomerOrders co ON o.orderID = co.orderID) as O left join tblCustomer I on O.customerId=I.customerId
于 2013-10-24T08:15:52.380 回答