在mysql中查询select语句

时间:2016-08-27 12:30:56

标签: mysql

我们可以在mysql

中运行以下查询吗?
SELECT rc.*,(SELECT * 
            from tbl_restaurantMenu 
            where menuCat = rc.id) 
as menu from tbl_restaurantMenuCat as rc;

如果不是,我们怎样才能达到类似的结果

2 个答案:

答案 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

希望它有所帮助!