我们可以在mysql
中运行以下查询吗?SELECT rc.*,(SELECT *
from tbl_restaurantMenu
where menuCat = rc.id)
as menu from tbl_restaurantMenuCat as rc;
如果不是,我们怎样才能达到类似的结果
答案 0 :(得分:1)
不,你不能这样做。当您使用子查询作为值时,它只能返回一列和一行,因此您无法使用SELECT *
。您应该使用JOIN
代替。
SELECT *
FROM tbl_restaurantMenuCat AS rc
LEFT JOIN menu AS m ON rc.id = m.menuCat
我使用LEFT JOIN
这样就会显示餐馆,即使他们没有匹配的菜单。
答案 1 :(得分:1)
Select *
不会以这种方式运作。你应该去JOIN
。
尝试以下查询:
SELECT rc.*,rm.*
FROM tbl_restaurantMenuCat rc
LEFT OUTER JOIN tbl_restaurantMenu rm ON rc.id = rm.menuCat
希望它有所帮助!