Maison > Questions et réponses > le corps du texte
J'ai deux tables
Cliquez sur le tableau
heure d'id | Horaire des courses
id | horodatage
Je souhaite obtenir les données de deux tables GROUP BY EXTRACT(DAY FROMride.timestamp) Mais je n'obtiendrai les données que si j'ai des entrées dans les deux tables pour le même jour, mais j'ai besoin des données, que les deux tables n'aient pas de données ou non. Je ne sais pas si la jointure OUTER est une réponse mais MySQL ne prend pas en charge OUTER JOIN
Ma requête actuelle n'obtient les données que s'il y a des entrées dans les deux tables
COUNT(distinct ride.id) AS ride_ads, COUNT(distinct clicks.id) AS clicks FROM ride INNER JOIN clicks ON EXTRACT(DAY FROM ride.timestamp)=EXTRACT(DAY FROM clicks.time) GROUP BY EXTRACT(DAY FROM ride.timestamp), EXTRACT(DAY FROM clicks.time)```
P粉5292450502024-04-05 00:40:32
SELECT DATE(ride.timestamp) AS Day, COUNT(DISTINCT ride.id) AS ride_ads, COUNT(DISTINCT clicks.id) AS clicks FROM ride LEFT JOIN clicks ON DATE(ride.timestamp) = DATE(clicks.time) WHERE DATE(ride.timestamp) > NOW() - INTERVAL 15 DAY GROUP BY Day UNION SELECT DATE(clicks.time) AS Day, #selecting date from second table since I might have record in this table and I am using group by Day COUNT(DISTINCT ride.id) AS ride_ads, COUNT(DISTINCT clicks.id) AS clicks FROM ride RIGHT JOIN clicks ON DATE(ride.timestamp) = DATE(clicks.time) WHERE DATE(clicks.time) > NOW() - INTERVAL 15 DAY GROUP BY Day ORDER BY Day