estoy intentando esto en laravel pero recibo un error como este
SQLSTATE[42601]: Syntax error: 7 ERROR: subquery in FROM must have an alias LINE 3: (select * from subcategory a inner join s... HINT: For example, FROM (SELECT ...) [AS] foo. (SQL: select * from mastercategory c inner join (select * from subcategory a inner join subling b on a.idsubcategory=b.idsubcategory_subcategory) on c.idcategory=a.idsubcategory_subcategoryestoy tratando de unirme a mastercategory con una subconsulta de unión de (subcategoría y subcategoría)
$users = DB::select(DB::raw(" select * from mastercategory c inner join (select * from subcategory a inner join subling b on a.idsubcategory=b.idsubcategory_subcategory) on c.idcategory=a.idsubcategory_subcategory "))->get();¿Cómo puedo lograr esto? No quiero usar el modelo. Gracias de antemano.
aquí está mi actualización
$users = DB::raw(" select a.*,b.* from mastercategory a inner join (select b.*,c.* from subcategory b inner join subling c on b.idsubcategory=c.idsubcategory_subcategory) on a.idcategory=b.idcategory_mastercategory");¿Por qué obtengo un valor vacío?
$users = DB::select("select * from mastercategory c inner join (select * from subcategory a inner join subling b on a.idsubcategory=b.idsubcategory_subcategory) as d on c.idcategory=d.idsubcategory_subcategory"); Cuando use DB::select , ejecute la declaración y devuelva el resultado. No necesita usar get y DB::raw con él ( marque aquí ).
Obtuvo este error porque no proporcionó el alias para la subconsulta interna.
Tienes que nombrar cada subconsulta. Por ejemplo, usa esto:
select * from mastercategory c inner join (select * from subcategory a inner join subling b on a.idsubcategory=b.idsubcategory_subcategory) as sub on c.idcategory=sub.idsubcategory_subcategoryHe agregado la parte en negrita: a.idsubcategory=b.idsubcategory_subcategory) como sub