我有表 Company
+--------------------------+
| id | companyname |
+--------------------------+
| 1 | JACK |
| 2 | ANDY |
和表 Job
+--------------------------------+
| id | id_com | title job |
+--------------------------------+
| 1 | 1 | php |
| 2 | 1 | mysql |
| 3 | 1 | html |
| 4 | 2 | css |
我希望我的结果如下:
id | company name | Number of job |
+----------------------------------+
1 | JACK | 3 |
2 | ANDY | 1 |
如何使用Mysql或Query Builder Laravel执行此操作?
答案 0 :(得分:2)
不低于:
查询1 :
SELECT c.id, c.companyname, count(j.id) AS nb
-- `sum(if(j.field IS NOT NULL, 1,0)) AS nb`
-- may be used if you always have a join
-- and want to check `j.field` instead
FROM Company c
LEFT JOIN Job j
ON j.id_com = c.id
GROUP BY c.id, c.companyname
<强> Results 强>:
| id | companyname | nb |
|----|-------------|----|
| 1 | JACK | 3 |
| 2 | ANDY | 1 |
| 3 | VOID | 0 |
对于Laravel,应该看起来像:
$r = DB::table('Company')
->leftJoin('Job', 'Job.id_com', '=', 'Company.id')
->select(
DB::raw('Company.id, Company.companyname, count(Job.id) AS nb'))
->groupBy(
'Company.id',
'Company.companyname')
->get();
答案 1 :(得分:0)
var parentnode = node.ParentNode.ParentNode.ParentNode.FirstChild.NextSibling