一个简单的SQL查询,但我无法让它工作。 当我删除子查询时,该语句返回正确的数据 错误需要在子查询中。 这是我到目前为止所得到的:
"SELECT s.*, (SELECT s.* FROM sites_photos WHERE sites_id = s.id)
FROM sites
AS s";
提前致谢。
答案 0 :(得分:6)
使用嵌套选择时,只能有一列。这称为“标量子查询”。如果您想要多列,只需使用join
:
SELECT s.*, sp.*
FROM sites s left join
sites_photos sp
on sp.sites_id = s.id;
请注意left join
的使用。即使sites_photos
中没有匹配的行,也可以确保包含所有网站。