使用 JOIN 创建视图,由于其他 table 只有少数匹配项,因此无法正常工作

Create a view with JOIN, not working since other table have just few matches

我有一个名为 users 的核心 table,其中包含一个用户列表。 其中一些用户在名为 tracker.

的 table 中有记录

我想查看 users table,并向其中添加一个来自 tracker 的名为 last_call 的列,因此它将是 NULL 如果该用户在tracker中不存在,如果存在,则显示该值。

所以第一步是创建一个 JOIN。我在这里读到我应该使用 LEFT OUTER JOIN,但它并没有解决我的问题。下面的查询 returns 只有用户存在于 tracker table 上的记录。如果用户记录不存在,则结果中缺少该用户。

SELECT u.*, fq.last_call FROM tracker fq LEFT OUTER JOIN users u ON u.id = fq.user_id

您只需将 table 倒过来。如果你想要 users 中的所有行,那么它应该是 LEFT JOIN 中的第一个 table:

SELECT u.*, fq.last_call
FROM users u LEFT JOIN
     tracker fq 
     ON u.id = fq.user_id;