And*_*dre 14 sql subquery multiple-columns
是否可以通过subselect实现LEFT JOIN的等效,其中需要多列.这就是我的意思.
SELECT m.*, (SELECT * FROM model WHERE id = m.id LIMIT 1) AS models FROM make m
Run Code Online (Sandbox Code Playgroud)
现在这样做,这给了我一个'操作数应该包含1列'的错误.
是的我知道LEFT JOIN可以做到这一点,但我被告知可以通过subselect我很好奇它是如何完成的.
ber*_*nie 24
你建议的有很多实际用途.
release_date对于任何具有至少一个的make,此假设查询将返回最新的(人为的示例),对于任何没有的make release_date,返回null release_date:
SELECT m.make_name,
sub.max_release_date
FROM make m
LEFT JOIN
(SELECT id,
max(release_date) as max_release_date
FROM make
GROUP BY 1) sub
ON sub.id = m.id
Run Code Online (Sandbox Code Playgroud)
子选择只能从其返回一列,因此您需要为要从模型表返回的每列进行一次子选择.