gpt4 book ai didi

mysql - inner join 按客户显示销售列表

转载 作者:行者123 更新时间:2023-11-29 03:31:03 25 4
gpt4 key购买 nike

我需要按客户显示销售列表,显示客户 ID、客户姓名、客户购买的产品名称,销售日期并按客户ID排序..

这是客户表结构

CREATE TABLE customer 
(cust_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,forename CHAR(10) NOT NULL
,surname CHAR(10) NOT NULL
,phone CHAR(15) NULL
);

这是销售表结构

CREATE TABLE sales
(cust_id CHAR(6) NOT NULL
,prod_id CHAR(8) NOT NULL
,quantity SMALLINT NULL
,date_of_sale NULL
,PRIMARY KEY(cust_id,prod_id)
);

谢谢。

产品表

enter image description here

最佳答案

这将为您提供一个客户列表,它使用 LEFT JOINS - 这意味着结果将向您显示没有销售的客户以及有销售的客户 - 这可能是您想知道的信息。

SELECT 
c.cust_id,
c.forename,
c.surname,
p.prod_name,
s.date_of_sale
FROM customers c
LEFT JOIN sales s ON s.cust_id = c.cust_id
LEFT JOIN products p ON p.prod_id = s.prod_id
ORDER BY c.cust_id ASC

如果您只想查看有销售的客户 - 那么只需将 LEFT 更改为 INNER

SELECT 
c.cust_id,
c.forename,
c.surname,
p.prod_name,
s.date_of_sale
FROM customers c
INNER JOIN sales s ON s.cust_id = c.cust_id
INNER JOIN products p ON p.prod_id = s.prod_id
ORDER BY c.cust_id ASC

关于mysql - inner join 按客户显示销售列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com