1
CREATE TABLE    CUSTOMER (
cusID   VARCHAR(10) NOT NULL,
cusNAME     VARCHAR(50),
CONSTRAINT CUSTOMER_PKEY PRIMARY KEY (cusID)
);

CREATE TABLE    ORDERS (
cusID       VARCHAR(10) NOT NULL,
item    VARCHAR(25),
PPRICE  NUMBER(12,2),
CONSTRAINT ORDERS_FKEY FOREIGN KEY (cusID) REFERENCES CUSTOMER(cusID)
);

我有这两个表,我想要一个查询结果

CUSNAME    ITEM BOUGHT
JOHN          2
MAY           5

是否有可能做到这一点?类似 select cusNAME,COUNT(*) FROM CUSTOMER,ORDERS ........等等......不知道如何继续。

4

1 回答 1

2
SELECT  cus.cusName,
        COUNT(*) AS ItemBought
FROM    Customer AS cus
        INNER JOIN Orders AS ord
            ON cus.CusID = ord.cusID
GROUP   BY cus.cusName

要进一步了解有关联接的更多信息,请访问以下链接:

上面的查询只会显示客户在表上至少有一条记录,Order因为它使用INNER JOIN. 如果您想向所有客户显示它是否在餐桌订单上至少有一条记录,请LEFT JOIN改用。

于 2013-05-05T11:26:24.553 回答