我想从 biometrics
返回所有行,并在存在 JOIN 时获取额外数据。但是,我当前的查询仅在用户 ID 匹配时返回行。
我该如何解决这个问题,以便它返回所有生物识别行,以及来自 JOIN 的额外数据(如果存在)?
SELECT b.id as id, g.date
FROM `biometrics` as b
INNER JOIN `users goals` as g ON biometricid = b.id and userid = $user->id
最佳答案
使用左外连接:
SELECT b.id as id, g.date
FROM `biometrics` as b
LEFT OUTER JOIN `users goals` as g ON biometricid = b.id and userid = $user->id
可以找到不同连接类型的很好的例子 here .
关于mysql - 如何使用 SQL 执行可选 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159085/