Left Join führt zu einem leeren Ergebnis
P粉743288436
P粉743288436 2024-04-02 00:27:45
0
1
439

Verwende ich hier die richtige Verbindungsmethode? Ich versuche herauszufinden, wo im Code das Problem liegt. Versuchen Sie, die inneren, äußeren und rechten Verbindungen zu ändern, um es auszuprobieren.

SELECT users.region, count(internal_profile_views.user_id)
from users
Left JOIN internal_profile_views
ON users.id = internal_profile_views.user_id
AND users.id = internal_profile_views.viewed_user_id
GROUP BY users.region;

Tabellenstruktur: https://i.stack.imgur.com/nFUZO.jpg

Die Ausgabe, die ich bekomme:

West 0 Nordost 0 Süden 0 Andere 0 Mittlerer Westen 0

P粉743288436
P粉743288436

Antworte allen(1)
P粉986937457

根据你的架构,看起来internal_profile_views表示用户资料查看该资料的用户之间的M:N表。

在这种情况下,internal_profile_views中具有相同的user_idviewed_user_id值的行表示用户正在查看自己的资料,具有不同值的行表示用户正在查看其他人的资料。

在你的连接语句中,你使用了一个条件,其中user_idviewed_user_id必须匹配相同的users.id记录才能包含在结果中。很可能你只打算在一个列上进行连接,而不是两个。

在此基础上,你的查询可能是以下之一:

SELECT viewer.region as Viewer_Region, count(views.user_id) as Unique_Viewers
FROM internal_profile_views views
INNER JOIN users viewer ON views.user_id = viewer.id
GROUP BY viewer.region;
SELECT profileOwner.region as Profile_Region, count(views.user_id) as Unique_Viewers
FROM internal_profile_views views
INNER JOIN users profileOwner ON views.viewed_user_id = profileOwner.Id
INNER JOIN users viewer ON views.user_id = viewer.id
GROUP BY users.region;
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage