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)
);
Voici la requête que je utilise:MySQL - Comment obtenir NULL si l'égalité n'existe pas
SELECT Customer.first_name, Payment.year
FROM Customer
LEFT JOIN Payment
ON Customer.customer_id = Payment.customer_id
WHERE Payment.year = 2008;
Maintenant, disons que j'avais trois clients John, Bob et Anne. John et Anne ont fait des paiements en 2008, mais Bob ne pas le résultat de cette requête est:
prenom année
John 2008
Anne 2008
mais ce que je veux est:
prenom année
John Anne 2008
Bob NULL
Je sais que je besoin d'un ligne qui dit quelque chose comme pour un locataire_id s'il n'y a pas une telle égalité payment.year = 2008 que de retourner NULL, mais je ne suis pas sûr de savoir comment faire cela. Merci!
Merci pour le heads up! Je ne savais pas ça sur O WH. – MCH