【发布时间】:2020-12-15 00:56:07
【问题描述】:
我正在尝试加入两个表,即 people 和 sales,并根据应用于加入表的 where 条件显示结果。
我当前的尝试只显示一个结果,但我希望显示人员中的所有行,无论他们是否在销售表中有记录,如果他们有记录并且类型是信用,那么只有我想要显示金额。
CREATE TABLE people(
person_id INTEGER NOT NULL PRIMARY KEY
,name VARCHAR(6) NOT NULL
);
INSERT INTO people(person_id,name) VALUES (1,'John');
INSERT INTO people(person_id,name) VALUES (2,'Alice');
INSERT INTO people(person_id,name) VALUES (3,'Mary');
CREATE TABLE sales(
sales_id INTEGER NOT NULL PRIMARY KEY
,customer_id VARCHAR(6) NOT NULL
,type VARCHAR(6) NOT NULL
,amount VARCHAR(6) NOT NULL
);
INSERT INTO sales(sales_id,customer_id,type,amount) VALUES (1,1,'credit',100);
INSERT INTO sales(sales_id,customer_id,type,amount) VALUES (2,3,'cash',200);
请使用我当前的代码检查fiddle example,并帮助我得到如下所示的结果:
+---------+--------+
| name | amount |
+---------+--------+
| john | 100 |
| alice | 0 |
| mary | 0 |
+---------+--------+
【问题讨论】:
标签: mysql sql left-join sql-null