gpt4 book ai didi

MySQL - 如果不存在相等性,如何获取 NULL

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

CREATE TABLE Customer(  
customer_id INT NOT NULL,
first_name VARCHAR(20),
last_name VARCHAR(20),
PRIMARY KEY (customer_id)
);
CREATE TABLE Payment(
customer_id NOT NULL,
year YEAR,
payment_amount INT,
FOREIGN KEY (customer_id) REFERENCES Customer(customer_id)
);

这是我正在使用的查询:

SELECT Customer.first_name, Payment.year  
FROM Customer
LEFT JOIN Payment
ON Customer.customer_id = Payment.customer_id
WHERE Payment.year = 2008;

现在,假设我有三个客户 John、Bob 和 Anne。约翰和安妮在 2008 年付款,但鲍勃没有付款,因此此查询的结果是:

名字年份
约翰 2008
安妮 2008

但我想要的是:

名字年份
约翰 2008
安妮 2008
鲍勃空

所以我知道我需要一行内容类似 for a tenant_id if there is no such equality payment.year = 2008 than return NULL,但我不确定该怎么做。谢谢!

最佳答案

WHERE Payment.year = 2008;   

应该是

AND Payment.year = 2008;  

WHERE 在 JOIN 之后应用,因此它过滤掉 NULL

关于MySQL - 如果不存在相等性,如何获取 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462514/

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