i m trying this on laravel but i m getting error like this
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_subcategory
i m trying to join mastercatergory with subquery of join of (subcategory and subling)
$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();
how i can accomplised this i don't want to use model thanks in advance
here is my update
$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");
why i m getting empty value
$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");
When you use DB::select it execute the statement and return the result. You don't need to use get and DB::raw with it (check here).
You were getting this error because you didn't provide the alias for inner subquery.
You have to name each subquery. For example, use this:
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_subcategory
I've added the bolded part: a.idsubcategory=b.idsubcategory_subcategory) as sub